Cl.0请求走私
请求走私漏洞是链接系统如何确定每个请求的何时启动和结束的结果。这通常是由于标题解析不一致,使用请求导致一台服务器内容长度
另一个将消息视为块。但是,可以执行许多相同的攻击,而无需依靠这两个问题。
在某些情况下,可以说服服务器忽略内容长度
标题,这意味着他们假设每个请求都在标题末端完成。这实际上与对待内容长度
作为0
。
如果后端服务器表现出这种行为,但前端仍然使用内容长度
标头要确定请求结束的位置,您可以将这种差异利用为http请求走私。我们决定将其称为“ Cl.0”漏洞。
测试Cl.0漏洞
要探测Cl.0漏洞,请首先发送包含另一个部分请求的请求,然后发送正常的后续请求。然后,您可以检查一下对后续请求的响应是否受到走私前缀的影响。
在下面的示例中,主页的后续请求已收到404响应。这强烈表明后端服务器解释了邮政
要求 (获取 /希望404 ...
)作为另一个请求的开始。
帖子/弱点-Endpoint http/1.1主机:脆弱的website.com连接:keep-alivbeplay体育能用吗e content-type:application/x-www-form-urlencoded content-Length:34获取 /希望404 http /1.1 foo:xget / http / 1.1主机:脆弱的website.cobeplay体育能用吗m
http/1.1 200好HTTP/1.1 404找不到
至关重要的是,请注意,我们没有以任何方式篡改标题 - 请求的长度由完全正常,准确的内容长度
标题。
使用Burp Repeater自己尝试这个:
创建一个包含设置请求的选项卡,另一个包含任意后续请求的选项卡。
按正确顺序将两个选项卡添加到组中。
使用下拉菜单旁边发送按钮,将发送模式更改为按顺序发送组(单连接)。
更改
联系
标题到活着
。发送序列并检查响应。
在野外,我们主要在终点上观察到这种行为邮政
请求,因此他们隐含地假设没有任何请求具有身体。触发服务器级重定向和静态文件请求的端点是主要候选人。
引发Cl.0行为
如果找不到任何显得脆弱的端点,则可以尝试引起此行为。
当请求的标头触发服务器错误时,一些服务器会发出错误响应,而不会消耗插座的请求车身。如果他们之后不关闭连接,则可以提供替代的Cl.0 desync向量。
您也可以尝试使用得到
带有混淆的请求内容长度
标题。如果您能够从后端服务器(而不是前端)隐藏起来,那么这也有可能引起DESYNC。我们看了一些标题混淆技术当我们涵盖Te.te要求走私时。
利用Cl.0漏洞
您可以为同一服务器端请求的走私攻击利用Cl.0漏洞以前的要求走私材料。在以下实验室中自己尝试一下。
H2.0漏洞
beplay体育能用吗网站降级http/2请求到http/1如果后端服务器忽略了同等的“ H2.0”问题内容长度
降级请求的标题。
如何防止Cl.0漏洞
对于一些高级措施,您可以采取防止CL.0漏洞和其他形式的DESANC攻击,请参阅如何防止HTTP请求走私漏洞。
接下来是什么?
您可以扩展本节中所学到的知识,以执行许多请求走私攻击的客户端变体。要了解如何查看客户端DESANC攻击实验室