本文将介绍攻击者是利用漏洞发起HTTP Desync攻击的,目标都是一些知名网站,这些漏洞通过劫持客户端、木马化缓存、还有窃取凭据来发起攻击。
对Netflix的HTTP Desync攻击
由于HTTP/2的数据帧长度字段,Content-Length标头是不需要的。然而,HTTP/2 RFC声明该标头是允许的,只要它是正确的。Netflix使用了一个无需验证内容长度就执行HTTP降级的前端。研究人员发出了以下HTTP/2请求:
在前端将此请求降级为HTTP/1.1后,它到达后端,看起来像这样:
由于 Content-Length 不正确,后端提前停止处理请求,橙色数据被视为另一个请求的开始。这使研究人员能够为下一个请求添加任意前缀,而不管它是谁发送的。
将受害者的请求重定向到研究人员的服务器 02.rs:
通过重定向 JavaScript 包含,研究人员可以执行恶意 JavaScript 来破坏 Netflix 帐户,并窃取密码和信用卡号。通过循环运行这种攻击,研究人员可以在没有用户交互的情况下逐渐攻击网站的所有活跃用户,这种严重程度是请求走私的典型表现。
【点击查看安全学习攻略】-私信回复资料获取白帽黑客技术资料
针对Application Load Balancer(简称ALB)的HTTP Desync攻击
接下来,让研究人员看看一个简单的 H2.TE HTTP Desync。 RFC 状态为“任何包含特定于连接的标头字段的消息都必须被视为格式错误。”
一个特定于连接的标头字段是Transfer-Encoding。Amazon Web Services (AWS)的应用ALB未能遵守此行,并接受包含Transfer-Encoding的请求。这意味着攻击者可以通过 H2.TE HTTP Desync来利用几乎所有使用它的网站。
其中一个易受攻击的网站是Verizon的执法入口网站,位于id.b2b.oath.com。研究人员使用以下请求利用了它:
前端将此请求进行了降级:
<