• Welcome to the world's largest Chinese hacker forum

    Welcome to the world's largest Chinese hacker forum, our forum registration is open! You can now register for technical communication with us, this is a free and open to the world of the BBS, we founded the purpose for the study of network security, please don't release business of black/grey, or on the BBS posts, to seek help hacker if violations, we will permanently frozen your IP and account, thank you for your cooperation. Hacker attack and defense cracking or network Security

    business please click here: Creation Security  From CNHACKTEAM

研究人员演示了HTTP请求走私攻击的4种新变种


This Wind

Recommended Posts

HTTP请求走私攻击

一项新研究确定了四种针对HTTP请求走私攻击的新变种,它们可以针对各种商用现成的Web服务器和HTTP代理服务器。

SafeBreach安全研究副总裁Amit Klein在今天的Black Hat安全会议上介绍了调查结果,他说,这种攻击突显了Web服务器和HTTP代理服务器即使自首次记录以来已有15年,仍然仍然易受HTTP请求走私的影响。

什么是HTTP请求走私?

HTTP请求走私(或HTTP异步)是一种用来干扰网站处理从一个或多个用户接收到的HTTP请求序列的方式的技术。

当前端服务器(负载平衡器或代理)和后端服务器不同地解释HTTP请求的边界时,通常会出现与HTTP请求走私有关的漏洞,从而使不良行为者发送(或“走私”)歧义该请求将优先于下一个合法用户请求。

 

请求的这种不同步可被利用来劫持凭据,向用户注入响应,甚至从受害者的请求中窃取数据并将信息泄露给攻击者控制的服务器。2005年,Watchfire的一组研究人员首先

对该技术进行了演示,其中包括Klein,Chaim Linhart,Ronen Heled和Steve Orrin。但是在最近的五年中,已经设计了许多改进,在攻击面上进行了显着扩展,以将请求拼接为其他请求,并“获得对内部API的最大权限访问”,污染Web缓存,并破坏流行应用程序的登录页面。

什么是新的?

Klein公开的新变体涉及使用各种代理服务器组合,包括Web服务器模式下的Aprelium的Abyss,Microsoft IIS,Apache和Tomcat,以及HTTP代理模式下的Nginx,Squid,HAProxy,Caddy和Traefik。

webserver.jpg

所有四个新变体的列表如下,其中包括一个由研究人员在实验中成功利用的旧变体。

  • 变体1:“标头SP / CR垃圾:……”
  • 变式2 –“等待”
  • 变体3 – HTTP / 1.2绕过类似于mod_security的防御
  • 变式4 –一个简单的解决方案
  • 变式5 –“ CR标头” 

例如,在处理包含两个Content-Length标头字段的HTTP请求时,发现Abyss接受第二个标头为有效,而Squid使用第一个Content-Length标头,从而导致两个服务器以不同的方式解释请求并实现请求走私。

在Abyss收到长度小于指定的Content-Length值的主体的HTTP请求的情况下,它将等待30秒以完成该请求,但不会忽略该请求的其余主体。Klein发现,这也导致Squid和Abyss之间存在差异,后者会将出站HTTP请求的部分解释为第二个请求。

攻击的第三种形式使用HTTP / 1.2来规避OWASP ModSecurity中定义的WAF防御用于防止HTTP请求走私攻击的核心规则集(CRS)会生成触发该行为的恶意有效负载。

 

最后,克莱因(Klein)发现使用“ Content-Type:text / plain”标头字段足以绕过CRS中指定的偏执狂级别检查1和2,并产生HTTP请求走私漏洞。

有哪些可能的防御措施?

在将发现披露给Aprelium,Squid和OWASP CRS之后,这些问题已在Abyss X1 v2.14,Squid版本4.12和5.0.3CRS v3.3.0中修复

呼吁规范来自代理服务器的出站HTTP请求,Klein强调了对开源,强大的Web应用程序防火墙解决方案的需求,该解决方案能够处理HTTP请求走私攻击。

Klein指出:“ ModSecurity(与CRS结合使用)确实是一个开源项目,但是就健壮性和通用性而言,mod_security具有多个缺点。” “它不能提供针对HTTP请求走私的全面保护,并且仅可用于Apache,IIS和nginx。”

为此,克莱因(Klein)发布了一个基于C ++的库,该库通过严格遵守HTTP标头格式和请求行格式来确保所有传入的HTTP请求都是完全有效,合规且明确的。可以从GitHub此处访问它。

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now