盲SSRF漏洞
翻译
原文:https://portswigger.net/web-security/ssrf/blind
- name: 翻译
desc: 原文:https://portswigger.net/web-security/ssrf/blind
bgColor: '#F0DFB1'
textColor: 'green'
2
3
4
# 0盲SSRF漏洞
在本节中,我们将解释什么是盲性服务端请求伪造 (opens new window),描述一些常见的盲 SSRF 示例,并说明如何查找和利用盲 SSRF 漏洞。
# 1什么是盲SSRF?
(译者加:无回显的 SSRF 漏洞)
当可以诱导应用程序向提供的 URL 发出后端 HTTP 请求时,如果后端请求的响应 不会在应用程序的前端页面中返回,就会出现盲 SSRF 漏洞。
# 2盲SSRF漏洞会造成什么影响?
由于其单向性质,盲 SSRF 漏洞的影响通常低于 具有完全回显的 SSRF 漏洞。盲 SSRF 不能从后端系统中检索敏感数据,但在某些情况下,可以用它来实现完整的远程代码执行。
# 3如何发现和利用盲SSRF漏洞
检测盲 SSRF 漏洞的最可靠方法是使用带外(OAST (opens new window))技术。这将会尝试触发对你控制的外部系统的 HTTP 请求,并监视与该系统的网络交互。
使用带外技术的最简单、最有效方法是使用Burp Collaborator (opens new window)。你可以使用Burp Collaborator (opens new window)生成唯一的域名,将这些域名作为有效负载发送到应用程序,并监视与这些域的任何交互。如果观察到来自应用程序传入的 HTTP 请求,则表明它易受 SSRF 攻击。
笔记
在测试 SSRF 漏洞时经常会观察到,所提供的 Collaborator 域发生了 DNS 查找,但没有后续 HTTP 请求。这通常是因为 应用程序尝试向该域发出 HTTP 请求,这导致了初始 DNS 查找,但实际的 HTTP 请求被网络级过滤器阻止。基础设施允许出站 DNS 流量是相对常见的,因为这是许多业务所需要的,但会阻止与意外目标的 HTTP 连接。
- name: 实验室-从业者
desc: 使用带外技术检测盲SSRF >>
avatar: https://fastly.statically.io/gh/clincat/blog-imgs@main/vuepress/static/imgs/docs/burpsuite-learn/public/lab-logo.png
link: https://portswigger.net/web-security/ssrf/blind/lab-out-of-band-detection
bgColor: '#001350'
textColor: '#4cc1ff'
2
3
4
5
6
可触发带外 HTTP 请求的盲 SSRF 漏洞,如果只是简单地识别该漏洞,并不能提供可利用的攻击途径。由于你无法查看来自后端请求的响应,因此,该行为不能用于浏览应用程序服务器上的内容。但是,你仍然可以利用它来探测服务器本身 或 其他后端系统上的另类漏洞。你可以扫描内部 IP 地址空间,发送 旨在检测已知漏洞的有效负载。如果这些有效负载也使用了盲性带外技术,则你可能会在 未打补丁的内部服务器上 发现严重漏洞。
(译者加:Shellshock破壳漏洞,在vulhub (opens new window)上有漏洞环境,漏洞详情可以参考这篇文章 (opens new window))
- name: 实验室-专家
desc: 盲SSRF中的Shellshock攻击 >>
avatar: https://fastly.statically.io/gh/clincat/blog-imgs@main/vuepress/static/imgs/docs/burpsuite-learn/public/lab-logo.png
link: https://portswigger.net/web-security/ssrf/blind/lab-shellshock-exploitation
bgColor: '#001350'
textColor: '#d112fe'
2
3
4
5
6
利用盲 SSRF 漏洞的另一种途径是,诱导应用程序连接到攻击者控制下的系统,并将恶意响应返回到建立连接的 HTTP 客户端。如果可以在服务器的 HTTP 执行过程中利用严重的客户端漏洞,则可以在应用程序基础结构中实现远程代码执行。