服务器端请求伪造攻击 (SSRF) 利用 Webapplications中的缺陷来访问内部资源。 了解如何保护您的应用程序和 API。
SSRF 是一种安全漏洞,当攻击者操纵 Web应用或 API 向内部资源发出请求时会发生,可能导致未授权访问、数据暴露、系统入侵和远程代码执行。 即使受到防火墙或虚拟专用网络 (VPN)解决方案的保护,攻击者也会绕过输入验证并强迫应用s访问恶意 Web 目标。
在 SSRF 攻击中,攻击者通常会操纵用于指定服务器端 HTTP 请求的目标 URL 的输入。 当应用在从远程资源提取数据之前没有验证或清理用户输入的 URL 时,就会出现这种情况。 攻击者可以让目标服务器向任意目的地执行请求,从而可能导致各种安全风险。
如果目标资源与其他系统(例如云元数据服务或后端 API)具有信任关系,也会导致这些攻击,从而允许攻击者向这些受信任的服务发出请求并提取敏感信息或执行未经授权的操作。
由于现代 Webapplications为最终用户提供了便捷的功能,因此获取 URL 已成为一种常见的场景。 因此,SSRF 的发病率正在增加。 此外,随着 API 和云服务变得越来越普遍,计算架构变得越来越分散和复杂,SSRF 的严重性也随之增加。
SSRF 是OWASP 十大应用安全风险之一,是广泛认可的最关键的 Web应用安全风险的汇编。 SSRF 也是OWASP十大安全风险之一,对应用程序和 API 都很常见,在实施安全解决方案时需要特别考虑。
SSRF 攻击的工作原理如下:
以下是 SSRF 攻击在现实生活中的具体表现。
想象一个不安全的网络应用,它允许用户上传图像进行处理,并且其功能允许用户提供他们想要处理的图像的 URL。 然而,攻击者并没有提供合法的图像 URL,而是提交了一个精心设计的输入,其中包含一个指向应用服务器上的内部资源(例如内部文件或后端数据库)的恶意 URL。 应用服务器盲目处理恶意URL,并按照攻击者的输入,向URL指定的内部资源发出请求,以获取敏感数据或查询数据库并将数据返回给攻击者。
一旦服务器受到攻击,攻击者还可以向外部系统发出请求、探测漏洞或与服务器有权访问的服务进行交互。 SSRF 攻击的影响可能因系统架构和受感染服务器的权限而异。 攻击可能导致未经授权的数据访问、服务中断或内部系统受到损害。
根据攻击者与服务器交互和提取信息的方式,SSRF攻击可以分为不同的类型。
在标准的 SSRF 攻击中,攻击者将恶意 URL 作为用户输入的一部分注入,触发服务器向指定资源发出请求。 攻击者可以直接观察服务器的响应并收集有关内部网络的信息,例如如何检索数据或识别可访问的服务。
在盲 SSRF 攻击中,攻击者不会直接从服务器接收响应。 相反,攻击者通过观察应用程序行为的变化来间接确认 SSRF 攻击的成功或失败。
攻击者提交精心设计的输入,迫使服务器向外部或内部资源发出请求。 攻击者寻找应用程序活动中可观察到的变化,例如错误消息、响应时间或其他副作用的差异。 即使攻击者没有直接看到响应,这些信息也能帮助攻击者推断 SSRF 是否成功。
基于时间的盲 SSRF 攻击涉及利用服务器响应中的延迟来推断 SSRF 的成功或失败,而无需直接看到响应。
与其他 SSRF 攻击一样,攻击者提交恶意输入,导致服务器向外部或内部资源发出请求。 攻击者观察应用响应所需的时间。 响应时间的延迟可能表明 SSRF 成功了。 攻击者反复调整有效载荷并监视时间延迟以提取有关内部网络或资源的信息。
为了防范 SSRF 攻击,请实施一系列预防性网络安全措施,包括:
这些预防措施如何帮助防止 SSRF 攻击? 让我们来看一个假设的情况。
在线内容管理系统允许用户输入 URL 以将外部图像嵌入到他们的帖子中。 该系统在处理用户提供的 URL 时没有进行适当的输入验证。 攻击者意识到缺乏输入验证,试图通过提供指向内部资源(例如内部 API 端点或数据库服务器)的恶意 URL 来利用系统。 但是,该应用程序的安全团队增强了系统的输入验证,以对接受的 URL 实施严格的规则。 系统开始验证用户提供的 URL 是否符合预期模式,并且团队为外部资源实施允许域的白名单。
攻击者提交带有精心设计的 URL 的帖子,旨在利用 SSRF 漏洞,但输入验证现在检测到恶意 URL。 输入验证在处理过程中拒绝恶意 URL,从而阻止应用向攻击者指定的内部资源发出请求。 增强的输入验证可以阻止 SSRF 攻击: 系统不允许对内部资源进行未经授权的请求,从而保证内部系统的完整性和安全性。
通过实施输入验证,应用可以拒绝或清除恶意输入,防止未经授权的请求并降低 SSRF 攻击的风险。
SSRF 攻击非常危险,因为它们允许攻击者绕过防火墙和访问控制等传统网络安全措施,以访问通常在组织内部网络内受保护且不能直接从 Internet 访问的敏感信息和资源。 由于 SSRF 攻击对数据和系统的机密性、完整性和可用性构成重大风险,因此组织必须实施强大的安全措施和最佳实践,包括 WAF、适当的输入验证、访问控制和网络分段,以减轻 SSRF 漏洞的威胁并防止潜在的利用。
F5 WAF 解决方案可以阻止和缓解来自OWASP Top 10 的广泛风险,包括 SSRF。 F5 WAF 解决方案结合了签名和行为保护,包括来自F5 实验室的威胁情报和通过机器学习 (ML) 实现的自动化安全性,以跟上新兴威胁。 它们减轻了在云、本地和边缘环境中一致保护applications的负担和复杂性,并且提供了多种部署选项可供选择。 BIG-IP Advanced WAF(API 安全 - 新一代 WAF)是一种强大的解决方案,可以保护您的applications免受 SSRF 攻击,并为软件漏洞提供关键的权宜之计,而F5 分布式云 WAF 则通过易于使用的即服务安全平台,以显著简化的操作保护各地的应用程序。
F5 Webapplication和 API 保护 (WAAP) 解决方案通过全面的保护来防御整个现代应用程序攻击面,这些保护包括 WAF、 API 安全、L3-L7 DDoS 缓解以及针对恶意自动化和自动化威胁的机器人防御。 分布式平台让您可以轻松地在整个应用程序和 API中部署一致的策略和扩展安全性,无论它们托管在何处,并将安全性集成到 API 生命周期和更广泛的生态系统中。
配置指南
NGINX 应用保护 WAF ›