@php绕过https://www.cnblogs.com/leixiao-/p/9786496.html

@step1:F12

step2:抓包

@任何url  http://118.25.14.40:8100/

本质都是http://118.25.14.40:8100/index.php   (默认)

所以写脚本requests/sqlmap,总之有时记得在url最后加 / 或 /index.php

@2019ctf省赛预赛wp     http://sec.hdu.edu.cn/news/140376

@XCTF攻防世界-web-cat

当输入一些骚东西,返回一堆html代码,就把代码复制下来变成.html打开啊!

@curl命令

@一秒内算出6位数+六位数*(六位数+六位数)

写python脚本,import requests同时计算,提交数据

法一:爬虫思想

  1. import requests
  2. import lxml
  3. from lxml import etree
  4. from requests import session
  5.  
  6. url = "http://172.22.227.88:8090/web02b4c5/index.php"
  7.  
  8. s = session()
  9.  
  10. response1 = s.get(url)
  11.  
  12. result = etree.HTML(response1.text)
  13.  
  14. a = result.xpath("//p")[1].text
  15.  
  16. a = eval(a)
  17.  
  18. data = {'result':a}
  19.  
  20. response2 =s.post(url,data=data)
  21. print(response2.text)

法二:正则表达式

前方 血的教训 高能

  1. import requests,re
  2.  
  3. url = "http://172.22.227.88:8090/web02b4c5/" //或者最后自己手动加/index.php'''血的教训!!!''''''这里,我最后的/没加上去,跑出来原网页的html代码,跑不出新的有flag的网页''''''用python不会自动补/的,最后不加/无法跳转!!! '''
  4. s = requests.Session() //不加session,刷新的还是新的式子,
  5. r = s.get(url)
  6.  
  7. search = re.findall(r'[\d]{4,}',r.text)
  8.  
  9. value = int(search[0])*int(search[1])+int(search[2])*(int(search[3])+int(search[4]))
  10.  
  11. data = {'result':value}
  12. r = s.post(url,data=data)
  13. print(r.text)

@著名题目秋名山老司机

  1. import requests
  2. import lxml
  3. from lxml import etree
  4. from requests import session
  5.  
  6. s = session()
  7.  
  8. url = "http://123.206.87.240:8002/qiumingshan/index.php"
  9.  
  10. response1 = s.get(url)
  11.  
  12. suanshi = etree.HTML(response1.text).xpath(].text
  13.  
  14. real_suanshi = suanshi[:-]
  15.  
  16. result = eval(real_suanshi)
  17.  
  18. data = {'value':result}
  19.  
  20. response2 = s.post(url, data=data)
  21. response2.encoding = 'utf-8'
  22. print(response2.text)

@输入id啥的,sql盲注一波,获得id,username,password之类的字段,flag有时就藏在其他字段里

sql盲注工具:sqlmap  熟练使用sqlmap

如果flag在页面里,只能手注,sqlmap跑不出的

@条件竞争

Fi2:

  1. if ((@$_GET['u']) && (@$_GET['p'])) { //当get了u和p,
  2. $content = '***************'; //就给flag,这就是flag
  3. file_put_contents("$savepath" . sha1($_GET['u']), $content);
  4. $msg = 'Ding!你的算卦结果就在这儿啦! ' . $savepath . htmlspecialchars(sha1($_GET['u'])) . "";
  5. echo $msg;
  6. usleep(); //但是0.1秒就跳到其他页面,说你太慢了
  7. @$content = "you are too slow";
  8. file_put_contents("$savepath" . sha1($_GET['u']), $content);
  9. }
  10. 试试条件竞争吧?

多线程,条件竞争

题解:

发很多线程,总有一次抢得过,不显示跳到的新的页面

可以用burpsuit,多线程

当然,最好自己写脚本

@webshell

一句话木马,后门,工具:中国菜刀/蚁剑/直接hackbar

shell和syc只是密码,可以变哒

法一:直接蚁剑 连接

然后就可以看到植入了一句话木马的服务器的所有文件结构,为所欲为

各种文件打开看看,会有flag.txt / flag.php

法二:hackbar/直接脚本传参

1.ls命令,查看所有目录

2.cat命令,查看ls出来的flag.txt的内容

@burpsuit extender

题目只有一个 .jar 文件,在burp里打开就可以看到flag了

@get签到题

在url里?cat=dog就返回flag

  1. <!--
  2. $cat=$_GET['cat'];
  3. echo $cat;
  4. if($cat=='dog'){
  5. echo 'Syc{cat_cat_cat_cat}';
  6. }
  7. -->

@

@who-areyou-

 

@show_me_your_image

这题有一些坑,可能很多同学都被image.php坑了,以为这是一个PHP程序,其实是一个flask.路由的名字叫做image.php 
其实从header里边我们也能发现这并不是一个php文件,观察一下,我们上传一张图片,可以通过image.php这个路由获取到这个文件的内容,感觉这个参数像是base64,尝试解码一下,发现解不出来

我们上传的文件名为 
auto.jpg,得到的结果是0LP1A4hRjmj= 
正常的base64应该是YXV0by5qcGc=,我们回顾一下base64的知识

题目应该是替换了这个编码表,导致无法正常解码出base64,我们可以控制上传的文件名,爆破出编码表即可获取任意文件。

爆破编码表

这里给出爆破脚本

无需爆破编码表

在回顾一下base64的知识

个或2个字节,那么可以使用下面的方法进行处理:先使用0字节值在末尾补足,使其能够被3整除,然后再进行Base64的编码。在编码后的Base64文本后加上一个或两个=号,代表补足的字节数。也就是说,当最后剩余两个八位字节(2个byte)时,最后一个6位的Base64字节块有四位是0值,最后附加上两个等号;如果最后剩余一个八位字节(1个byte)时,最后一个6位的base字节块有两位是0值,最后附加一个等号。

尝试一下!

我们先上传一个名字叫做ab.png的文件,得到编码是0Y7+jmhg 
再上传一个名字叫做123ab.png的文件,得到编码是l57B0Y7+jmhg 
我们发现后8位完全相同

开始读取!

整除,这样这个base64就分成了两个分组 
这样我们就可以构造一个文件名为../..///root/flag.txtab.png的文件,得到axb8axb8a4n4AOn1aOMu0Yj+Sof10Y7+jmhg 
去掉后8位,得到的就是../../root/flag.txt的内容

关于flag的文件位置,可以通过读取/proc/self/cwd/templates/upload.html读取到flag的文件位置

@题型:301/302重定向

@tip:有时候ctrl f,flag,是f l a g,有空格

@注册后登录题不用怕,注入点就那么一两个框能注入,其他就是摆设

web题的更多相关文章

  1. CTF--web 攻防世界web题 robots backup

    攻防世界web题 robots https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=506 ...

  2. CTF--web 攻防世界web题 get_post

    攻防世界web题 get_post https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=5 ...

  3. 实验吧web题:

    实验吧web题: 这个有点简单 因为刚了解sqlmap,所以就拿sqlmap来练练手了 1,先测试该页面是否存在sql注入漏洞 2.找到漏洞页面,复制url,然后打开sqlmap 先查看当前数据库 然 ...

  4. i春秋CTF web题(1)

    之前边看writeup,边做实验吧的web题,多多少少有些收获.但是知识点都已记不清.所以这次借助i春秋这个平台边做题,就当记笔记一样写写writeup(其实都大部分还是借鉴其他人的writeup). ...

  5. 关于第一场HBCTF的Web题小分享,当作自身的笔记

    昨天晚上6点开始的HBCTF,虽然是针对小白的,但有些题目确实不简单. 昨天女朋友又让我帮她装DOTA2(女票是一个不怎么用电脑的),然后又有一个小白问我题目,我也很热情的告诉她了,哎,真耗不起. 言 ...

  6. CTFHub Web题学习笔记(SQL注入题解writeup)

    Web题下的SQL注入 1,整数型注入 使用burpsuite,?id=1%20and%201=1 id=1的数据依旧出现,证明存在整数型注入 常规做法,查看字段数,回显位置 ?id=1%20orde ...

  7. 实验吧web题(26/26)全writeup!超详细:)

    #简单的SQL注入 http://www.shiyanbar.com/ctf/1875 1)试着在?id=1,没有错误 2)试着?id=1',出错了,有回显,说明有注入点: You have an e ...

  8. i春秋 “百度杯”CTF比赛 十月场 web题 Backdoor

    0x00: 打开题目,题目中告诉我们这题是文件泄露. 0x01: 通过扫描目录,发现可以扫到的有3个文件 index.php flag.php robots.txt 但是浏览flag.php它告诉我们 ...

  9. ISG2018 web题Writeup

    0x01.命令注入 这题可以使用burpsuite扫出来,但是可能需要测一下. 得知payload为:i%7cecho%20gzavvlsv9c%20q9szmriaiy%7c%7ca%20%23'% ...

  10. 实验吧CTF题库-WEB题(部分)

    看起来有点难 提交admin http://ctf5.shiyanbar.com/basic/inject/index.php?admin=admin&pass=admin&actio ...

随机推荐

  1. 进击JavaScript核心 --- (3)面向对象

    JS中的对象定义为:无序属性的结合,其属性可以包含基本值.对象或者函数   1.定义对象的方式   (1).Object构造函数 var student = new Object(); student ...

  2. Jmeter+ant+Jenkins接口自动化框架搭建

    摘自:https://testerhome.com/topics/13389 一.背景  上一篇讲了Jmeter 接口自动化-脚本数据分离实例,我们知道怎么利用Jmeter去编写接口自动化脚本,但是接 ...

  3. Monkey使用详情

    https://blog.csdn.net/zhangmeng1314/article/details/82699316 比如使用 adb shell input keyevent <keyco ...

  4. luogu 5561 [Celeste-B]Mirror Magic 后缀数组+RMQ+multiset

    思路肯定是没有问题,但是不知道为啥一直 TLE 两个点~ #include <bits/stdc++.h> #define N 2000006 #define setIO(s) freop ...

  5. 生成CA免费证书

    环境 OpenSSL 1.0.2k FireFox 60.0 64位 Chrome 66.0.3359.181 (正式版本)(32位) Internet Explorer 11.2248.14393. ...

  6. Codevs 1851 越狱 2008年湖南省队选拔赛

    1851 越狱 2008年湖南省队选拔赛 时间限制: 10 s 空间限制: 128000 KB 题目等级 : 大师 Master 题目描述 Description 监狱有连续编号为1-N的N个房间,每 ...

  7. Python基础之算术运算符

    如下图所示, 假设变量a = 10, b = 20:

  8. [CSP-S模拟测试]:Weed(线段树)

    题目描述 $duyege$的电脑上面已经长草了,经过辨认上面有金坷垃的痕迹.为了查出真相,$duyege$准备修好电脑之后再进行一次金坷垃的模拟实验.电脑上面有若干层金坷垃,每次只能在上面撒上一层高度 ...

  9. CentOS7中使用GitBlit搭建自己的Git服务器

    1.搭建依赖库 yum install java yum install git yum install -y gcc-c++ curl-devel expat-devel gettext-devel ...

  10. AMBARI部署HADOOP集群(4)

    通过 Ambari 部署 hadoop 集群 1. 打开 http://192.168.242.181:8080  登陆的用户名/密码是 : admin/admin 2. 点击 “LAUNCH INS ...