ctfhub -SSRF

目录

内网访问

伪协议读取文件

 端口扫描

 POST请求

上传文件

FastCGI协议 

Redis协议

URL Bypass

 数字IP Bypass

302跳转 Bypass

DNS重绑定 Bypass

 


内网访问

SSRF(Server-Side Request Forgery:服务请求伪造)是一种由攻击者构造,从而让服务端发起请求的一种安全漏洞,它将一个可以发起网络请求的服务当作跳板来攻击其他服务,SSRF的攻击目标一般是内网。

?url=127.0.0.1/flag.php

抓包

伪协议读取文件

https://blog.csdn.net/qq_39431542/article/details/89483887

php伪协议:
File:// 访问本地文件系统
http:// 访问 HTTPs 网址
ftp:// 访问 ftp URL
Php:// 访问输入输出流
Zlib:// 压缩流
Data:// 数据
Ssh2:// security shell2
Expect:// 处理交互式的流
Glob:// 查找匹配的文件路径

?url=file:///var/www/html/flag.php

 端口扫描

 

 

 POST请求


https://blog.csdn.net/qq_33295410/article/details/108619685

上传文件

CTFHUB-技能树-Web-SSRF-上传文件 - 码上快乐https://www.codeprj.com/blog/d165a31.html

FastCGI协议 

Fastcgi就是一个通信协议,而FastCGI就是服务器中间件与某个语言后端进行数据交换的协议。

https://blog.csdn.net/mysteryflower/article/details/94386461

---------------------------------------------

解题文章

ctfhub-fastcgi协议_o3Ev的博客-CSDN博客https://blog.csdn.net/qq_51652864/article/details/118697060CTFHub-SSRF部分(已完结)_feng的博客-CSDN博客_ctfhub ssrfhttps://blog.csdn.net/rfrder/article/details/108589988

Redis协议

Redis协议详细规范 Redis客户端和服务器端通信使用名为 RESP (REdis Serialization Protocol) 的协议。 虽然这个协议是专门为Redis设计的,它也可以用在其它 client-server 通信模式的软件上。

CTFHub SSRF | Y0ng的博客http://www.yongsheng.site/2021/04/04/CTFHub%20SSRF/

https://www.freebuf.com/articles/web/258365.html 

URL Bypass

题目说url必须一“http://notfound.ctfhub.com”开头。我们可以用@绕过“http://notfound.ctfhub.com@127.0.0.1(http://notfound.ctfhub.com连接到站点127.0.0.1)

 数字IP Bypass

题目提示:这次ban掉了127以及172.不能使用点分十进制的IP了。但是又要访问127.0.0.1。该怎么办呢

我们访问IP地址,十六进制,二进制转换在线计算器,在线计算,在线计算器,计算器在线计算icon-default.png?t=M0H8https://www.osgeo.cn/app/sc126

 

进行ip的转换在访问?url=http://2130706433/flag.php

302跳转 Bypass

报错说必须从目标机本地访问:

 我们构造/?url=http://127.0.0.1/flag.php,发现被检测了:

网址为 http://xip.io,当访问这个服务的任意子域名的时候,都会重定向到这个子域名,举个例子:

当我们访问 http://127.0.0.1.xip.io/flag.php,那么实际上我们访问的是就 http://127.0.0.1/flag.php

将127.0.0.1用0或localhost等代替。

盲猜访问

http://0.xip.io/flag.php
http://localhost.xip.io/flag.php
http://①②⑦.⓪.⓪.①.xip.io/flag.php

 

DNS重绑定 Bypass

对于用户请求的URL参数,首先服务器端会对其进行DNS解析,然后对于DNS服务器返回的IP地址进行判断,如果在黑名单中,就pass掉。

但是在整个过程中,第一次去请求DNS服务进行域名解析到第二次服务端去请求URL之间存在一个时间差,利用这个时间差,我们可以进行DNS 重绑定攻击。我们利用DNS Rebinding技术,在第一次校验IP的时候返回一个合法的IP,在真实发起请求的时候,返回我们真正想要访问的内网IP即可。

要完成DNS重绑定攻击,我们需要一个域名,并且将这个域名的解析指定到我们自己的DNS Server,在我们的可控的DNS Server上编写解析服务,设置TTL时间为0,这是为了防止有DNS服务器对解析结果进行缓存。这样就可以进行攻击了,完整的攻击流程为:

  1. 服务器端获得URL参数,进行第一次DNS解析,获得了一个非内网的IP

  2. 对于获得的IP进行判断,发现为非黑名单IP,则通过验证

  3. 服务器端对于URL进行访问,由于DNS服务器设置的TTL为0,所以再次进行DNS解析,这一次DNS服务器返回的是内网地址。

  4. 由于已经绕过验证,所以服务器端返回访问内网资源的结果。

    参考wp:我在CTFHub学习SSRF - FreeBuf网络安全行业门户

 

我们可以自己编写解析服务,也可以利用这个网站获取一个测试用的域名:rbndr.us dns rebinding serviceicon-default.png?t=M0H8https://lock.cmpxchg8b.com/rebinder.html

访问:

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值