- Team82 的绕过攻击由五家领先供应商销售的 WAF:Palo Alto Networks、Amazon Web Services、Cloudflare、F5 和 Imperva。
- 使用此技术的攻击者将能够绕过 WAF 的保护并使用其他漏洞来泄露数据。
- 攻击技术涉及将 JSON 语法附加到 WAF 无法解析的 SQL 注入负载。
Team82宣布已开发出行业领先的 Web 应用程序防火墙的通用绕过方法。它适用于Palo Alto、F5、Amazon Web Services、Cloudflare和Imperva WAF。供应商承认了这一披露并发布了修复程序,以将对 JSON 语法的支持添加到 SQL 检查过程中。该方法依赖于了解 WAF 如何识别 SQL 语法并将其标记为恶意,然后找到 WAF 无法识别的 SQL 语法。
将 JSON 语法附加到 SQL 注入
该团队在研究 Cambium Networks 的无线设备管理平台(包括其 cnMaestro 无线网络管理器)时开始了这一旅程。该团队从 Cambium 的网站下载了 cnMaestro本地部署的开放虚拟化格式虚拟机。cnMaestro 包括许多不同的 NodeJS 后端服务,处理用户对特定路由的请求。Nginx 用于通过请求的 URL 传递请求,以将每个请求代理到正确的服务。cnMaestro 提供两种不同的部署类型:
- 本地部署:创建一个专用的 cnMaestro 服务器,由用户托管和管理。
- 云部署:在 Cambium Networks 的云基础架构上托管的 cnMaestro 服务器;cnMaestro 的所有此类实例都托管在 Cambium 组织下的亚马逊 AWS 云中,采用多租户架构。
AWS 上的 cnMaestro 云部署包括一个 cnMaestro 的主实例,用于处理登录、设备部署并将平台的大部分数据保存在主数据库中。注册到该应用程序的用户将获得一个带有个人 URL 和组织标识符的个人 AWS 实例。该团队在 Cambium cnMaestro 中发现了七个不同的漏洞。其中之一让团队发现并开发了这项技术。
该团队表示,流行的 WAF 在其 SQL 注入检查过程中不支持 JSON 语法。它使团队能够将 JSON 语法添加到 SQL 语句中,从而使 WAF 对恶意代码视而不见。克拉罗蒂说,
« Team82 的新颖攻击技术有效地绕过了 Web 应用程序防火墙的能力以充分检测 SQL 注入攻击。我们经历了一段复杂的旅程,从不相关的研究开始,但受到 Web 应用程序防火墙的阻挠,引发了导致我们绕过通用 WAF 的一系列事件。
Team82 向五家领先的 WAF 供应商披露了其调查结果,所有这些供应商都在其产品中添加了 JSON 语法支持。我们认为其他供应商的产品可能会受到影响,应该对 JSON 支持进行审查。例如,以下是 Amazon 和 F5 的确认和修复。»