1. beplay体育能用吗网络安全学院
  2. SSRF

服务器端请求伪造(SSRF)

在本节中,我们将解释什么服务器端请求伪造,描述了一些常见的例子,并解释了如何查找和利用各种SSRF漏洞。

SSRF是什么?

服务器端请求伪造(也称为SSRF)是一种web安全漏洞,它允许攻击者诱导服务器端应用程序向攻击者选择的任意域beplay体育能用吗发出HTTP请求。

在典型的SSRF示例中,攻击者可能会导致服务器与自身、组织基础设施中的其他基于web的服务或外部第三方系统建立连接。beplay体育能用吗

SSRF

SSRF攻击的影响是什么?

成功的SSRF攻击通常会导致未经授权的操作或对组织内数据的访问,无论是在易受攻击的应用程序本身中,还是在应用程序可以与之通信的其他后端系统中。在某些情况下,SSRF漏洞可能允许攻击者执行任意的命令执行

导致连接到外部第三方系统的SSRF攻击可能会导致恶意的后续攻击,这些攻击似乎来自承载脆弱应用程序的组织,从而导致潜在的法律责任和声誉损害。

常见SSRF攻击

SSRF攻击通常利用信任关系来升级来自脆弱应用程序的攻击,并执行未经授权的操作。这些信任关系可能与服务器本身有关,也可能与同一组织中的其他后端系统有关。

针对服务器本身的SSRF攻击

在针对服务器本身的SSRF攻击中,攻击者诱导应用程序通过其环回网络接口向承载应用程序的服务器发出HTTP请求。这通常需要提供一个具有类似于127.0.0.1(一个指向环回适配器的保留IP地址)或localhost.(同一适配器的常用名称)。

例如,考虑一个购物应用程序,该应用程序允许用户查看某一商品在特定商店中是否有库存。要提供库存信息,应用程序必须查询各种后端REST api,这取决于相关的产品和存储。该函数通过前端HTTP请求将URL传递给相关的后端API端点来实现。因此,当用户查看一个项目的股票状态时,他们的浏览器会发出这样的请求:

POST HTTP / 1.0 /产品/股票
内容类型:应用程序/ x-www-form-urlencoded
内容长度:118

stockApi = http://stock.weliketoshop.net: 8080 /产品/股票/检查% 3 fproductid % 3 d6 % 26 storeid % 3 d1

这使得服务器对指定的URL进行请求,检索库存状态,并将其返回给用户。

在这种情况下,攻击者可以修改请求以指定服务器本地的URL。例如:

POST HTTP / 1.0 /产品/股票
内容类型:应用程序/ x-www-form-urlencoded
内容长度:118

stockApi = http://localhost/admin

在这里,服务器将获取内容/管理URL并返回给用户。

当然,攻击者可以访问/管理直接的URL。但是管理功能通常只能被适当的经过身份验证的用户访问。因此,直接访问URL的攻击者不会看到任何感兴趣的内容。但是,当请求/管理URL来自本地机器本身,正常访问控制绕过。应用程序授予对管理功能的完全访问权,因为请求似乎来自一个受信任的位置。

为什么应用程序会以这种方式运行,并且隐式地信任来自本地机器的请求?这可能有多种原因:

  • 访问控制检查可以在应用服务器前面的另一个组件中实现。当连接返回到服务器本身时,将跳过检查。
  • 出于灾难恢复的目的,应用程序可能允许对来自本地机器的任何用户进行管理访问,而无需登录。这为管理员在丢失凭证时恢复系统提供了一种方法。这里的假设是,只有完全信任的用户将直接来自服务器本身。
  • 管理界面可能侦听与主应用程序不同的端口号,因此用户可能无法直接访问。

这些信任关系,源自本地计算机的请求不同于普通请求,通常是使SSRF变为关键漏洞的原因。

对其他后端系统的SSRF攻击

通过服务器端请求伪造经常出现的另一种类型的信任关系是应用服务器能够与用户不直接访问的其他后端系统交互的位置。这些系统通常具有不可路由的私有IP地址。由于后端系统通常受网络拓扑保护,因此它们通常具有较弱的安全姿势。在许多情况下,内部后端系统包含可以在能够与系统交互的任何人进行身份验证的情况下访问敏感功能。

在前面的示例中,假设后端URL上有一个管理接口https://192.168.0.68/admin。在这里,攻击者可以通过提交以下请求来利用SSRF漏洞访问管理界面:

POST HTTP / 1.0 /产品/股票
内容类型:应用程序/ x-www-form-urlencoded
内容长度:118

stockApi = http://192.168.0.68/admin

规避共同的SSRF防御

应用程序通常包含SSRF行为以及旨在防止恶意攻击的防御。通常,这些防御可以被绕过。

SSRF与基于黑名单的输入过滤器

一些应用程序阻塞包含主机名的输入,如127.0.0.1localhost.,或敏感的URL/管理。在这种情况下,你可以使用各种技术来绕过过滤器:

  • 使用替代IP表示127.0.0.1,如2130706433,017700000001,或127.1
  • 注册解析为的自己的域名127.0.0.1。您可以使用spoofed.burpcollaborator.net为这个目的。
  • 使用URL编码或大小写变化混淆阻塞字符串。

使用基于白名单的输入滤波器的SSRF

某些应用程序仅允许匹配的输入,从允许值的白名单中匹配或包含的输入。在这种情况下,您有时可以通过利用URL解析中的不一致来规避过滤器。

URL规范包含了许多在实现URL的特殊解析和验证时容易被忽略的特性:

  • 您可以使用主机名之前的URL中嵌入凭据,使用@的性格。例如:https://expected-host@evil-host
  • 你可以使用#字符表示URL片段。例如:https://evil-host#expected-host
  • 您可以利用DNS命名层次结构将所需输入放入所控制的完全限定的DNS名称中。例如:https://expected-host.evil-host
  • 可以通过url编码字符来混淆url解析代码。如果实现过滤器的代码处理url编码字符的方式与执行后端HTTP请求的代码不同,那么这一点特别有用。
  • 您可以结合使用这些技术。

通过打开重定向绕过SSRF滤波器

有时可以通过利用开放重定向漏洞来规避任何类型的滤波器防御性。

在前面的SSRF示例中,假设用户提交的URL被严格验证,以防止恶意利用SSRF行为。但是,允许URL的应用程序包含开放重定向漏洞。提供了用于使后端HTTP请求支持重定向的API,您可以构建满足过滤器的URL,并导致将被重定向的后端目标的请求结果。

例如,假设应用程序包含开放重定向漏洞,其中以下URL:

/产品/ nextProduct ? currentProductId = 6路= http://evil-user.net

返回重定向到:

http://evil-user.net.

您可以利用打开的重定向漏洞绕过URL过滤器,利用SSRF漏洞如下:

POST HTTP / 1.0 /产品/股票
内容类型:应用程序/ x-www-form-urlencoded
内容长度:118

stockApi = http://weliketoshop.net/product/nextProduct?currentProductId=6&path=http: / / 192.168.0.68 / admin

这个SSRF攻击之所以有效,是因为应用程序首先验证所提供的stockAPIURL在一个允许的域上,它确实是。然后应用程序请求提供的URL,这将触发打开的重定向。它遵循重定向,并向攻击者选择的内部URL发出请求。

盲目SSRF漏洞

当应用程序被诱导向提供的URL发出后端HTTP请求,但是后端请求的响应没有在应用程序的前端响应中返回时,就会出现盲SSRF漏洞。

盲目的SSRF通常难以利用,但有时会导致饱和远程代码执行在服务器或其他后端组件上。

寻找SSRF漏洞的隐藏攻击面

许多服务器端请求伪造漏洞相对容易发现,因为应用程序的正常流量涉及包含完整URL的请求参数。SSRF的其他示例更难定位。

请求中的部分url

有时,应用程序只将主机名或URL路径的一部分放入请求参数中。然后将提交的值合并到服务器端请求的完整URL中。如果该值很容易被识别为主机名或URL路径,那么潜在的攻击表面可能很明显。然而,作为完整SSRF的可利用性可能受到限制,因为您不能控制被请求的整个URL。

数据格式中的url

某些应用程序以格式传输数据,其规范允许包含可能由数据解析器所请求的URL进行格式的URL。这一点的一个明显的例子是XML数据格式,它已广泛用于Web应用程序,以将来自客户端的结构化数据传输到服务器。beplay体育能用吗当应用程序以XML格式接受数据并解析它时,可能会易于攻击XXE注入,并且反过来易于通过XXE攻击SSRF。当我们查看XXE注入漏洞时,我们将更详细地介绍这一点。

SSRF通过Referer头

某些应用程序采用跟踪访客的服务器端分析软件。此软件通常会在请求中记录引用标题,因为这对跟踪传入链接特别感兴趣。通常,分析软件通常会访问引用标题中显示的任何第三方URL。通常进行这是为了分析引用站点的内容,包括在传入链路中使用的锚文本。因此,参考报头通常代表SSRF漏洞的富有成效的攻击面。看盲目SSRF漏洞有关涉及推荐标题的漏洞的示例。

使用Burp套件查找SSRF漏洞

通过PortSwigger的网络安全学院工作的好处beplay官网可以赌beplay体育能用吗

从Web安全学院开始,在那里你可以练习利用beplay体育能用吗现实目标的漏洞。和它的自由!

已经有账户了?登录这里