基于JSON的SQL注入攻击触发需要更新Web应用程序防火墙

本文涉及的产品
Web应用防火墙 3.0,每月20元额度 3个月
云防火墙,500元 1000GB
简介: 基于JSON的SQL注入攻击触发需要更新Web应用程序防火墙

640.png


安全研究人员开发了一种通用的 SQL 注入技术,可以绕过多个 Web 应用程序防火墙 (WAF)。问题的核心是 WAF 供应商未能在 SQL 语句中添加对 JSON 的支持,从而使潜在的攻击者可以轻松隐藏其恶意负载。

Claroty Team82 的研究人员发现的绕过技术已被证实可以对抗来自 Palo Alto Networks、Amazon Web Services (AWS)、Cloudflare、F5 和 Imperva 的 WAF。

这些供应商已发布补丁,因此客户应更新其 WAF 部署。但是,该技术也可能适用于其他供应商的 WAF 解决方案,因此用户应该询问他们的提供商是否可以检测并阻止此类攻击。

Claroty 研究人员在他们的报告中说:“使用这种新技术的攻击者可以访问后端数据库并使用其他漏洞和漏洞利用通过直接访问服务器或通过云来泄露信息。

这对于已经转向基于云的管理和监控系统的 OT 和物联网平台尤为重要。WAF 承诺从云中获得额外的安全性;能够绕过这些保护的攻击者可以广泛访问系统。”

在调查其他漏洞时发现绕过


Claroty 研究人员在调查他们在 Cambium Networks 名为 cnMaestro 的无线设备管理平台中发现的漏洞时开发了这种攻击技术,该平台可以部署在本地和云端。


Cambium 运营的云服务为每个客户提供单独的 cnMaestro 服务器隔离实例,并在后端使用 AWS。


该团队在 cnMaestro 中发现了七个漏洞,包括一个 SQL 注入 (SQLi) 漏洞,该漏洞允许他们从服务器数据库中窃取用户会话、SSH 密钥、密码哈希、令牌和验证码。


SQL 注入是最常见和最危险的 Web 应用程序漏洞之一,它允许攻击者将任意 SQL 查询注入请求,然后应用程序将以自己的权限对数据库执行这些请求。


在确认他们的漏洞对 cnMaestro 的本地部署有效后,研究人员尝试对云托管实例进行攻击。从服务器响应中,他们意识到请求很可能被 AWS 的 Web 应用程序防火墙阻止,防火墙将其检测为恶意请求。


研究人员没有放弃,而是决定调查 AWS WAF 如何识别 SQL 注入尝试,因此他们创建了自己的托管在 AWS 上的易受攻击的应用程序并向其发送恶意请求。


他们的结论是,WAF 使用两种主要方法来识别 SQL 语法:在请求中搜索它识别为 SQL 语法一部分的特定词,并尝试将请求的不同部分解析为有效的 SQL 语法。


虽然大多数 WAF 除了 WAF 的独特之处外,还会结合使用这两种方法,但它们都有一个共同的弱点:它们需要 WAF 来识别 SQL 语法。


这引发了我们的兴趣,并提出了一个主要的研究问题:如果我们能找到 WAF 无法识别的 SQL 语法会怎样?


WAF 供应商忽视了 SQL 中的 JSON


大约从 10 年前开始,数据库引擎开始添加对使用 JSON(JavaScript 对象表示法)数据的支持。JSON 是一种数据格式和交换标准,在网络应用程序和网络 API 相互通信时广泛使用。


由于应用程序已经以 JSON 格式交换数据,关系数据库引擎的创建者发现允许开发人员在 SQL 操作中直接使用此数据而无需额外处理和修改非常有用。


PostgreSQL 早在 2012 年就添加了此功能,多年来其他主要数据库引擎也相继加入:2015 年的 MySQL、2016 年的 MSSQL 和 2022 年的 SQLite。


如今,所有这些引擎都默认启用了 JSON 支持。然而,WAF 供应商并没有效仿,可能是因为他们仍然认为这个功能是新的并且不为人所知。


Claroty 研究人员称:“根据我们对 WAF 如何将请求标记为恶意请求的理解,我们得出的结论是,我们需要找到 WAF 无法理解的 SQL 语法,如果我们可以提供 WAF 无法识别为有效 SQL 但数据库引擎会解析它的 SQLi 有效负载,我们实际上可以实现绕过。


事实证明,JSON 正是 WAF 的解析器和数据库引擎之间的这种不匹配。当我们传递使用不太流行的 JSON 语法的有效 SQL 语句时,WAF 实际上并没有将请求标记为恶意请求。”


在确认 AWS WAF 防火墙存在漏洞并且他们可以使用 JSON 来隐藏他们的 SQLi 漏洞后,研究人员想知道其他 WAF 是否也存在同样的漏洞。


对几家主要供应商的 WAF 的测试证明他们的怀疑是正确的,他们可以使用 JSON 语法绕过 SQLi 防御,而供应商之间只需进行最小的修改。


研究人员向他们发现容易受到攻击的供应商报告了这个问题,同时也将他们的技术贡献给了 SQLMap,这是一种开源渗透测试工具,可以自动执行 SQL 注入攻击。这意味着绕过技术现在是公开可用的,任何人都可以使用。


Team82 向五家领先的 WAF 供应商披露了它的发现,所有这些供应商都在他们的产品中添加了 JSON 语法支持。


我们认为其他供应商的产品可能会受到影响,应该对 JSON 支持进行审查。

640.png


执行摘要

  • Team82 开发了一种通用的绕过行业领先的 Web 应用程序防火墙 (WAF) 的方法。
  • 攻击技术涉及将 JSON 语法附加到 WAF 无法解析的 SQL 注入负载。
  • 主要的 WAF 供应商在他们的产品中缺乏 JSON 支持,尽管它被大多数数据库引擎支持了十年。
  • 大多数 WAF 将很容易检测到 SQLi 攻击,但在 SQL 语法之前添加 JSON 会使 WAF 对这些攻击视而不见。
  • 我们的绕过对五家领先供应商销售的 WAF 有效:Palo Alto Networks、Amazon Web Services、Cloudflare、F5 和 Imperva。这五家公司都已收到通知并更新了他们的产品,以在其 SQL 注入检查过程中支持 JSON 语法。
  • 使用此技术的攻击者将能够绕过 WAF 的保护并使用其他漏洞来泄露数据。

640.png


Cambium 的 cnMaestro 云架构允许用户从云端远程配置和控制他们的 AP Wi-Fi 设备。

640.png


CVE-2022-1361 中滥用的 SQL 注入汇点

640.png


返回字符串作为其字符的整数列表的 SQL 查询。


640.png


返回字符串中每个字母的 ascii 值的 SQL 负载,字符的索引乘以 1,000。

640.png


一个 SQL 查询,它接受一个字符串,每隔几个字符创建一个 BIGINT

使用这种方法,我们能够在每个请求中泄露多达 8 倍的数据。这减少了我们泄露大量数据并使攻击场景变得合理所需的时间。

构建我们的有效载荷在我们绕过了所有三个限制之后,我们留下了一个很大的有效负载,允许我们提取我们选择的任何数据:

640.png


事实上,当我们使用这个 payload 时,我们设法泄露了存储在数据库中的敏感信息,从会话 cookie 到令牌、SSH 密钥和哈希密码。

640.png


我们使用 SQLi 有效负载泄露的数据示例。

全文阅读地址:

https://claroty.com/team82/research/js-on-security-off-abusing-json-based-sql-to-bypass-waf

相关文章
|
2月前
|
存储 JSON 安全
如何使用 JSON Web Tokens 进行身份验证?
总的来说,JWT 是一种强大而灵活的身份验证方式,通过正确使用和管理,可以为应用提供可靠的身份验证机制,同时提高系统的可扩展性和安全性。在实际应用中,需要根据具体的需求和场景,合理设计和实施 JWT 身份验证方案。
120 63
|
29天前
|
Kubernetes 安全 Devops
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
63 10
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
|
2月前
|
SQL 存储 安全
Web 常见攻击方式及防御方法
【10月更文挑战第25天】Web 安全是一个复杂而重要的领域,攻击者不断寻找新的攻击方法,我们需要不断加强防御措施,提高安全意识,以保障 Web 应用的安全运行。通过采取多种防御手段的综合运用,我们可以有效地降低 Web 攻击的风险,保护用户的信息和财产安全。同时,随着技术的不断发展,我们也需要持续关注和研究新的安全威胁和防御方法,以应对不断变化的安全形势。
376 56
|
2月前
|
SQL 安全 前端开发
Web学习_SQL注入_联合查询注入
联合查询注入是一种强大的SQL注入攻击方式,攻击者可以通过 `UNION`语句合并多个查询的结果,从而获取敏感信息。防御SQL注入需要多层次的措施,包括使用预处理语句和参数化查询、输入验证和过滤、最小权限原则、隐藏错误信息以及使用Web应用防火墙。通过这些措施,可以有效地提高Web应用程序的安全性,防止SQL注入攻击。
67 2
|
2月前
|
Web App开发 网络协议 安全
基于Web攻击的方式发现并攻击物联网设备介绍
基于Web攻击的方式发现并攻击物联网设备介绍
46 4
|
2月前
|
安全 前端开发 Java
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第26天】Web安全是现代软件开发的重要领域,本文深入探讨了XSS和CSRF两种常见攻击的原理及防御策略。针对XSS,介绍了输入验证与转义、使用CSP、WAF、HTTP-only Cookie和代码审查等方法。对于CSRF,提出了启用CSRF保护、设置CSRF Token、使用HTTPS、二次验证和用户教育等措施。通过这些策略,开发者可以构建更安全的Web应用。
108 4
|
2月前
|
安全 Go PHP
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第27天】本文深入解析了Web安全中的XSS和CSRF攻击防御策略。针对XSS,介绍了输入验证与净化、内容安全策略(CSP)和HTTP头部安全配置;针对CSRF,提出了使用CSRF令牌、验证HTTP请求头、限制同源策略和双重提交Cookie等方法,帮助开发者有效保护网站和用户数据安全。
93 2
|
2月前
|
存储 安全 Go
Web安全基础:防范XSS与CSRF攻击的方法
【10月更文挑战第25天】Web安全是互联网应用开发中的重要环节。本文通过具体案例分析了跨站脚本攻击(XSS)和跨站请求伪造(CSRF)的原理及防范方法,包括服务器端数据过滤、使用Content Security Policy (CSP)、添加CSRF令牌等措施,帮助开发者构建更安全的Web应用。
119 3
|
2月前
|
SQL 安全 网络协议
Web 常见攻击方式
【10月更文挑战第25天】这些只是一些常见的 Web 攻击方式,实际上还有许多其他的攻击手段。为了防范这些攻击,需要采取一系列的安全措施,如输入验证、输出编码、安全配置、身份验证等。同时,也需要不断提高用户的安全意识,以减少被攻击的风险。
25 1
|
4月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
下一篇
开通oss服务