前言
昨天忘了在公众号还是微博上看到的了,看到一个SSRF绕过的技巧,使用的是
ⓔⓧⓐⓜⓟⓛⓔ.ⓒⓞⓜ
绕过的,自己也没遇到过。然后想想自己对SSRF绕过还是停留在之前的了解,也没学习过新的绕过方法,所以特意找了找资料,学习学习最新黑科技,充充能。
0x00 SSRF是什么
能精简的就不扯淡,一句话就是:利用一个可以发起网络请求的服务当作跳板来攻击内部其他服务。
0x01 SSRF能干什么
- 探测内网信息
- 攻击内网或本地其他服务
- 穿透防火墙
- 。。。
0x02 SSRF怎么找
- 能够对外发起网络请求的地方
- 请求远程服务器资源的地方
- 数据库内置功能
- 邮件系统
- 文件处理
- 在线处理工具
- 。。。
举几个例子:
- 在线识图,在线文档翻译,分享,订阅等,这些有的都会发起网络请求。
- 根据远程URL上传,静态资源图片等,这些会请求远程服务器的资源。
- 数据库的比如mongodb的copyDatabase函数,这点看猪猪侠讲的吧,没实践过。
- 邮件系统就是接收邮件服务器地址这些地方。
- 文件就找ImageMagick,xml这些。
- 从URL关键字中寻找,比如:source,share,link,src,imageurl,target等。
以上这些不是本文的重点,下面说下重点介绍的SSRF绕过的方法。
0x03 SSRF怎么绕
1、攻击本地
|
|
2、利用[::]
|
|
3、利用@
|
|
4、利用短地址
|
|
5、利用特殊域名
利用的原理是DNS解析
6、利用DNS解析
|
|
7、利用上传
|
|
8、利用Enclosed alphanumerics
|
|
9、利用句号
|
|
10、利用进制转换
|
|
11、利用特殊地址
|
|
12、利用协议
|
|
13、使用组合
各种绕过的组合即可
参考链接:
https://www.hackerone.com/blog-How-To-Server-Side-Request-Forgery-SSRF
https://twitter.com/albinowax/status/890725759861403648
http://blog.safebuff.com/2016/07/03/SSRF-Tips/
https://hackerone.com/reports/115748
https://www.dailysecurity.fr/server-side-request-forgery/
https://twitter.com/EdOverflow
https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/SSRF%20injection
http://www.agarri.fr/docs/AppSecEU15-Server_side_browsing_considered_harmful.pdf
http://byd.dropsec.xyz/2017/06/04/SSRF%E6%BC%8F%E6%B4%9E%E5%89%96%E6%9E%90%E4%B8%8E%E5%88%A9%E7%94%A8/
http://blog.csdn.net/xinianbuxiu/article/details/53560417