解析针对 HTTP/2 协议的不同步攻击

本文深入探讨了HTTP/2协议中的不同步攻击,包括伪造的标头文件、HTTP/2不同步攻击,以及具体案例,如Netflix和应用程序负载均衡器上的问题。攻击者利用协议漏洞和RFC漏洞发起各种攻击,如请求走私、客户端劫持和凭证盗窃。文章通过案例研究展示了攻击技术,并介绍了用于检测和利用这些漏洞的新工具。
摘要由CSDN通过智能技术生成

HTTP/2 很容易被误认为是一种传输层协议,HTTP/2 (原名HTTP/2.0)即超文本传输协议 2.0,是下一代HTTP协议。是由互联网工程任务组(IETF)的Hypertext Transfer Protocol Bis (httpbis)工作小组进行开发。是自1999年http1.1发布后的首个更新。HTTP 2.0在2013年8月进行首次合作共事性测试。在开放互联网上HTTP 2.0将只用于https://网址,而 http://网址将继续使用HTTP/1,目的是在开放互联网上增加使用加密技术,以提供强有力的保护去遏制主动攻击。DANE RFC6698允许域名管理员不通过第三方CA自行发行证书。在本文中,我将介绍由实现漏洞和 RFC 漏洞引起的多种新的 HTTP/2独有的威胁。

首先,我将展示这些漏洞是如何启用HTTP/2排他的不同步攻击的,案例研究的目标是一些知名网站,这些网站的服务器包括亚马逊的应用程序负载均衡器、WAF、CDN和大型科技公司定制的堆栈。这些漏洞通过劫持客户端、木马化缓存、还有窃取凭据来发起攻击。

之后,我将介绍新的技术和工具来破解不同步驱动的请求隧道,一种广泛但被忽视的请求走私(request smuggling)变体,通常被误认为是攻击误报。最后,我将分享HTTP/2引入的多个新的利用原语,揭示新的服务器层和应用层攻击表面。HTTP请求走私在 2005 年第一次被提出, 是一项用于干扰 HTTP 请求的技术,网站会处理来自用户的多个 HTTP 请求,使用 request smuggling 可以干扰其他用户的请求。 请求 smuggling 漏洞在实践场景中经常发生,允许攻击者绕过控制,获得未授权的数据,并且直接攻陷应用的其他用户。

HTTP / 2攻击

使用HTTP/2的第一步是学习协议基础。

我通过从标头开始编写 HTTP/2 客户端来开始这项研究,得出的结论是,对于本文中描述的攻击,我们可以忽略许多低级特性的细节,如帧和流。

虽然HTTP/2很复杂,但它被设计用来传输与HTTP/1.1相同的信息,这是两个协议中表示的等效请求。

HTTP / 1.1:
在这里插入图片描述
HTTP / 2:
在这里插入图片描述
假设你已经熟悉了HTTP/1,那么你只需要理解三个新概念。

伪造的标头文件

伪造的标头文件(pseudo header),通常有TCP伪首部和UDP伪首部。在UDP伪首部中,包含32位源IP地址,32位目的IP地址,8位协议,16位UDP长度。通过伪首部的校验,UDP可以确定该数据报是不是发给本机的,通过首部协议字段,UDP可以确认有没有误传。

在HTTP/1中,请求的第一行包含请求方法和路径。HTTP/2用一系列伪造标头文件替换请求行。这五个伪造标头很容易识别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值