新的 HTTP 请求走私攻击针对网络浏览器

研究人员说,威胁行为者可以利用HTTP请求处理中的弱点,发动对网站用户的有害的基于浏览器的攻击。
新的 HTTP 请求走私攻击针对网络浏览器

美国黑帽大会——拉斯维加斯——一位安全研究人员警告说,之前他演示过的攻击者如何利用网站处理HTTP请求的方式中存在的弱点,同样的问题也可以用来对网站用户发动有害的基于浏览器的攻击。

PortSwigger公司的总监James Kettle将他的研究描述为揭示了所谓的解同步攻击的新光,这种攻击利用了网站后端和前端服务器在解释HTTP请求时存在的分歧。之前,在2019年美国黑帽大会上,Kettle展示了如何触发这些分歧——比如关于消息长度等方面——来将HTTP请求路由到他们选择的后端组件,窃取凭证,调用应用程序的意外响应和其他恶意行为。Kettle还曾经展示了HTTP/2实现错误如何使网站面临被攻陷的风险。

Kettle的新研究重点是如何威胁行为者可以利用同样不恰当的HTTP请求处理问题来攻击网站用户,窃取凭证,安装后门,以及以其他方式危害他们的系统。Kettle说,他发现了一些HTTP处理异常,使得这种客户端解同步攻击能够影响像Amazon.com、使用AWS应用负载均衡器、思科ASA WebVPN、Akamai、Varnish Cache服务器和Apache HTTP服务器2.4.52及更早版本等网站。

Kettle在他演讲后与Dark Reading对话时说,服务器端解同步攻击和客户端解同步攻击之间的主要区别是,前者需要攻击者控制的服务器,有一个反向代理前端和至少部分格式错误的请求。而基于浏览器的攻击是在受害者的Web浏览器内部发生的,使用合法的请求。Kettle展示了一个证明概念,在其中他能够在他的购物清单中获取随机用户在Amazon上的认证令牌作为一个攻击者能够做到什么的例子。Kettle发现他可以让每一个被感染的用户在Amazon网站上重新发动这次攻击给其他人。“这将释放一个解同步蠕虫——一种自我复制的攻击,它利用受害者来感染其他人,不需要任何用户交互,迅速地利用Amazon上所有活跃用户。”Kettle说。Amazon已经修复了这个问题。

HTTP 请求走私是一种利用 HTTP 协议的缺陷来绕过防火墙和缓存的攻击技术。它可以通过将多个 HTTP 请求混合在一起,使得服务器和中间设备对请求的边界判断不一致,从而导致请求被错误地转发或处理。这种攻击可以用来窃取敏感信息、执行跨站脚本、绕过身份验证等。

Cisco、Apache 和 Varnish 都公开了他们的产品中存在的 HTTP 请求走私漏洞,并提供了相应的补丁。这些漏洞都是由 PortSwigger 安全主管 James Kettle(@albinowax)发现并报告的。他在一份今天发布的白皮书中介绍了这些漏洞的细节和利用方法。

Cisco 的漏洞(CVE-2022-20713)是由于其自适应安全设备(ASA)中的无客户端 SSL VPN 功能存在缺陷,导致未经身份验证的远程攻击者可以对网站用户进行基于浏览器的攻击。Cisco 说明说:“攻击者可以利用这个漏洞,通过诱使目标用户访问一个可以向启用了无客户端 SSL VPN 功能的 ASA 设备传递恶意请求的网站。成功利用这个漏洞,攻击者可以对目标用户进行基于浏览器的攻击,包括跨站脚本攻击。”

Apache 的漏洞(CVE-2022-22720)是由于其“在丢弃请求正文时遇到错误而未能关闭入站连接”而导致的。

Varnish 的漏洞(CVE-2022-23959)是由于其允许攻击者在客户端连接上注入伪造的响应。

Kettle 在白皮书中说,有两种不同的场景,HTTP 处理异常可能会有安全影响。

一种是第一次请求验证,其中前端服务器处理 HTTP 请求时使用 Host 头来识别要将每个请求路由到哪个后端组件。这些代理服务器通常有一个允许用户访问的主机白名单。Kettle 发现,有些前端或代理服务器只对通过连接发送的第一个请求使用白名单,而不对同一连接发送的后续请求使用白名单。因此,攻击者可以滥用这一点,通过先发送一个请求到一个允许的目标,然后跟随一个请求到他们想要攻击的目标,从而访问到一个受保护的组件。

另一种与之密切相关但更为频繁出现的问题是第一次请求路由。在第一次请求路由中,前端或代理服务器查看 HTTP 请求的 Host 头来决定将请求路由到哪里,并将来自客户端的所有后续请求都路由到同一个后端。在 Host 头被不安全地处理的环境中,这就给攻击者提供了一个机会,可以针对任何后端组件进行各种攻击,Kettle 说。

Kettle 说,网站防止客户端解同步攻击(client-side desync attacks)的最好方法是使用 HTTP/2 端到端。如果前端支持 HTTP/2 而后端是 HTTP/1.1 的话,通常不是一个好主意。“如果你们公司将员工的流量通过一个正向代理路由,请确保支持并启用上游 HTTP/2。”Kettle 建议。“请注意,使用正向代理还会引入一系列超出本文范围的额外请求走私风险。”

推荐阅读:

Instagram标记AI生成的内容

QQ刷钻揭秘:产业链、利益关系和风险分析

  • 点赞
  • 打赏
请选择打赏方式
  • ERC-20
  • TRC-20