盲SSRF漏洞

在这一节,我们将讲解什么是盲服务端请求伪造,描述一些常见的盲SSRF示例,并解释如何发现并利用盲SSRF漏洞。

什么是盲SSRF?

盲SSRF漏洞是指应用程序能够被诱导向提供的URL发出后端HTTP请求,但后端请求的响应并未在应用程序的前端响应中返回。

盲SSRF漏洞有什么影响?

由于其单向性,盲SSRF漏洞的影响一般低于充分了解的SSRF漏洞。尽管在某些情况下,盲SSRF漏洞可以被利用来实现完全的远程代码执行,但它们并不能被轻易地利用来从后端系统检索敏感数据。

如何发现并利用盲SSRF漏洞

检测盲SSRF漏洞最可靠的方式是使用带外(OAST)技术。这涉及尝试向你控制的外部系统触发一个HTTP请求,并监视与该系统的网络交互。

使用带外技术最简单有效的方法是使用Burp Collaborator。你可以使用Burp Collaborator生成唯一的域名,将其作为有效载荷发送到应用程序,并监视与这些域的任何交互。如果观察到一个来自应用程序传入的HTTP请求,那么它就容易受到SSRF的攻击。

注意

在测试SSRF漏洞时,经常会观察到所提供的Collaborator域的DNS查询,但没有后续的HTTP请求。出现这种情况的原因通常是,由于应用程序试图向该域发出HTTP请求,这导致了初始的DNS查询,但实际的HTTP请求被网络级的过滤阻止了。对于基础设施来说,允许DNS流量出站是比较常见的,因为很多情况下都需要DNS流量,但会阻止HTTP连接到未知的目的地。

LAB

带外检测的盲SSRF

仅仅识别出一个可以触发带外HTTP请求的盲SSRF漏洞本身并不能提供一个可利用的路径。由于你无法查看来自后端请求的响应,因此这种行为不能用来探索应用程序服务器可以访问的系统上的内容。不过,它仍然可以被利用来探测服务器本身或其他后端系统上的其他漏洞。你可以盲扫内部IP地址范围,发送旨在检测已知漏洞的有效载荷。如果这些有效载荷也采用盲带外技术,那么你可能会在未打补丁的内部服务器上发现一个严重的漏洞。

LAB

带有Shellshock漏洞的盲SSRF

利用盲SSRF漏洞的另一种途径是诱导应用程序连接到攻击者控制的系统,并且该系统会将恶意响应返回给发起连接的HTTP客户端。如果你能够利用服务器的HTTP实现中的严重客户端漏洞,你就有可能在应用程序基础设施中实现远程代码执行。

阅读更多

Last updated