HTTP拆分HTTP走私的主要区别是什么?
HTTP拆分HTTP走私的主要相似之处是什么?
发布于 2015-10-09 05:02:03
HTTP splitting是在HTTP中拆分响应或请求(最常见的响应)的事实。有几种方法可以做到这一点。例如,一些应用程序会忘记禁止自定义HTTP重定向(30x)中使用的主机名中的行尾,或者在过去的浏览器中,当使用摘要HTTP身份验证用户名中的行尾时,可能会在拆分请求时受到欺骗。
当你遇到这类问题(应用程序缺陷)时,你可以构建触发最终用户的攻击(比如XSS),让用户请求一个url,使用拆分在第一个响应中注入内容,并将常规响应作为额外响应丢弃。这意味着你可以拆分请求,但也可以注入来自url的响应内容,这是一个非常具体的组合,url可以携带整个攻击。
但拆分也可以在没有应用程序缺陷的情况下完成,直接使用HTTP服务器在协议解析中的缺陷(如双Content-Length报头)。该url不携带攻击。在这里,拆分是一个事实,(一个请求或响应在攻击后被拆分),但没有直接后果。这就是工具。
HTTP走私是一个更全球化的东西,使用HTTP拆分,但不仅仅是这样。在没有应用程序缺陷的情况下,要执行完整的走私攻击(导致缓存中毒或绕过安全过滤器),您还需要发射器、代理等携带拆分攻击的web代理,以及受拆分影响的目标(如缓存)。
This post may interest you for details。
发布于 2015-08-28 16:54:47
利用web应用程序的弱点或不同代理解释HTTP消息的方式的特殊性。本节将分析针对特定HTTP标头的两种不同攻击:
第一个攻击利用了缺乏输入过滤的漏洞,这使得入侵者能够将CR和LF字符插入到应用程序响应的报头中,并将应答‘拆分’为两个不同的HTTP消息。攻击的目标可以是缓存中毒,也可以是跨站点脚本。
在第二个攻击中,攻击者利用了这样一个事实,即某些巧尽心思构建的HTTP消息可以根据接收它们的代理以不同的方式进行解析和解释。HTTP走私需要对处理HTTP消息的不同代理(web服务器、代理、防火墙)有一定程度的了解,因此将仅包含在灰盒测试部分中。
https://www.owasp.org/index.php/Testing_for_HTTP_Splitting/Smuggling_(OTG-INPVAL-016)
https://stackoverflow.com/questions/28580568
复制相似问题