0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

最新研究已确定时钟针对HTTP请求走私攻击的新变种

如意 来源:超级盾订阅号| 作者:超级盾 2020-08-07 17:28 次阅读

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

在今天的黑帽安全会议上,SafeBreach的安全研究副总裁Amit Klein展示了这一发现,他说,这些攻击突出表明,web服务器和HTTP代理服务器容易受到HTTP请求走私攻击的影响,据记录首次发现至今已有15年的历史。

最新研究已确定时钟针对HTTP请求走私攻击的新变种

什么是HTTP请求走私?

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

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

不同步的请求可被利用来劫持凭据,向用户注入响应;甚至从受害者的请求中窃取数据,将信息泄露给攻击者控制的服务器。

这项技术是由Watchfire的一组研究人员于2005 年首次证明的,这些研究人员包括Klein,Chaim Linhart,Ronen Heled和Steve Orrin。

但是在过去的十几年中,在攻击面也随之进行了扩展,例如:将请求拼接成其他请求,获得对内部API的最大权限访问;污染Web缓存;破坏流行应用程序的登录页面。

什么是新的?

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

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

最新研究已确定时钟针对HTTP请求走私攻击的新变种

变体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中指定的级别检查,并产生HTTP请求走私漏洞。

有哪些可能的防御措施?

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

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

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

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    12

    文章

    8017

    浏览量

    82214
  • 网络安全
    +关注

    关注

    9

    文章

    2918

    浏览量

    58615
  • HTTP
    +关注

    关注

    0

    文章

    458

    浏览量

    30247
收藏 人收藏

    评论

    相关推荐

    arkts http 发起请求失败

    http 发起请求 官网Http
    发表于 03-23 00:33

    HTTP协议的运作方式及请求/响应的步骤

    基于HTTP的客户/服务器模式的信息交换过程它分四个过程建立连接、发送请求信息、发送响应信息、关闭连接。
    的头像 发表于 02-01 11:02 663次阅读
    <b class='flag-5'>HTTP</b>协议的运作方式及<b class='flag-5'>请求</b>/响应的步骤

    HTTP 中GET 和 POST 的区别

    一、概述 HTTP请求报文 GET 方法的特点 POST 方法的特点 GET 和 POST 的区别 二、HTTP请求报文 首先我们要解决的第一个问题是:GET 和 POST 是
    的头像 发表于 11-11 14:40 514次阅读
    <b class='flag-5'>HTTP</b> 中GET 和 POST 的区别

    http和https的区别

    1.1 http协议格式是什么 请求报文格式:请求行、请求头、空一行、请求请求行包括:
    的头像 发表于 11-10 16:42 414次阅读
    <b class='flag-5'>http</b>和https的区别

    【EsDA 应用】快速实现串口转HTTP请求

    本文将基于EsDA开发套件快速实现将串口数据转换为HTTP请求的应用开发,实现串口设备与网络服务的互联互通,提供便捷和高效的串口数据转换功能。项目简介HTTP协议是互联网应用最为广泛的一种网络协议
    的头像 发表于 11-09 08:25 448次阅读
    【EsDA 应用】快速实现串口转<b class='flag-5'>HTTP</b><b class='flag-5'>请求</b>

    安信可Ai-WB2模组HTTP 客户端 POST请求方法

    文章目录 一、准备工作 二、连接路由器 三、HTTP客户端POST请求方法(适用于POST少量数据) 四、HTTP 客户端 POST 请求方法(推荐方式) 五、联系我们 01 准备工作
    的头像 发表于 10-30 17:27 288次阅读
    安信可Ai-WB2模组<b class='flag-5'>HTTP</b> 客户端 POST<b class='flag-5'>请求</b>方法

    安信可Ai-WB2模组HTTP 客户端 HEAD和GET 请求方法

    文章目录 一、准备工作 二、连接路由器 三、HTTP客户端HEAD请求方法 四、HTTP 客户端 GET 请求方法 五、联系我们 01 准备工作 需要准备的软硬件:Ai-WB2系列模组
    的头像 发表于 10-23 17:41 281次阅读
    安信可Ai-WB2模组<b class='flag-5'>HTTP</b> 客户端 HEAD和GET <b class='flag-5'>请求</b>方法

    学习体系结构-针对复杂软件的常见攻击形式堆栈

    本指南介绍了一些针对复杂软件的常见攻击形式堆栈。该指南还检查了功能,包括指针身份验证,分支目标Armv8-A中提供了识别和内存标记,以帮助缓解这种情况攻击。本指南是对这些特性的概述,而不是技术上
    发表于 08-02 07:50

    如何测试HTTP请求示例

    电子发烧友网站提供《如何测试HTTP请求示例.zip》资料免费下载
    发表于 07-13 11:35 1次下载
    如何测试<b class='flag-5'>HTTP</b><b class='flag-5'>请求</b>示例

    STA学习记录-时钟定义

    STA的准备工作包括:设定时钟、指定IO时序特性、指定false path和multicycle path
    的头像 发表于 05-26 17:20 722次阅读
    STA学习记录-<b class='flag-5'>时钟</b>定义

    如何使用 ESP-AT实现HTTP请求

    ESP-AT作为乐鑫开发的可直接用于量产的物联网应用固件,可以简单完成网络的连接,以及设备与服务器之间的数据传输。本文将介绍如何使用 ESP-AT实现HTTP请求
    的头像 发表于 05-23 17:12 730次阅读
    如何使用 ESP-AT实现<b class='flag-5'>HTTP</b><b class='flag-5'>请求</b>

    HTTP获取请求报404错误是怎么回事?

    您好,我正在尝试使用带有 AT v1.1 固件的 ESP8266 发送 GET 请求。 我正在使用以下命令: (WiFi 配置并且正在运行) 代码:全选AT+CIPSTART=\\\"
    发表于 05-17 08:25

    HTTP协议的运作方式

    客户端发起请求:客户端向服务端发送HTTP请求报文,报文包括请求行、请求头、请求体等内容,其中
    发表于 05-06 15:52 505次阅读
    <b class='flag-5'>HTTP</b>协议的运作方式

    HTTP请求报文:GET和POST的区别

    GET 和 POST 其实都是 HTTP请求方法。除了这 2 个请求方法之外,HTTP 还有 HEAD、PUT、DELETE、TRACE、CONNECT、OPTIONS 这 6 个
    发表于 04-10 10:11 919次阅读

    各种类型CDC路径中的毛刺问题

    CDC 验证不仅在 RTL 有必要,在门级也必不可少。在 RTL,重点是通过识别 CDC 结构和方案来确定时钟域和 CDC 路径。
    的头像 发表于 03-30 11:03 847次阅读