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

    文章

    8954

    浏览量

    85069
  • 网络安全
    +关注

    关注

    10

    文章

    3104

    浏览量

    59520
  • HTTP
    +关注

    关注

    0

    文章

    499

    浏览量

    30973
收藏 人收藏

    评论

    相关推荐

    请问如何使用HTTP请求获取本地时间?

    我正在尝试使用 AT 命令和 HTTP 请求获取本地时间,我已经从中获得了时间www.gooogle.com但这个时间是GMT时区, 我想知道如何获取本地时区,我已经尝试过 AT CIPNTP,但它不起作用。
    发表于 07-16 06:20

    在esp8266中构建了一个HTTP服务器,功处理HTTP请求后,软件计时器停止了,为什么?

    ()\' 和 \'wifi_station_connect()\' 时,我发现 l 连接 ap 返回 1。有一次,在我成功处理HTTP请求后,软件计时器停止了。我已经尝试了处理任务或硬件定时器回调或硬件
    发表于 07-10 06:15

    替代SiTime,可编程振荡器用于视频处理器稳定时钟信号

    替代SiTime,可编程振荡器用于视频处理器稳定时钟信号
    的头像 发表于 06-28 09:50 323次阅读
    替代SiTime,可编程振荡器用于视频处理器稳<b class='flag-5'>定时钟</b>信号

    鸿蒙开发网络管理: @ohos.net.http 数据请求

    每一个httpRequest对应一个http请求任务,不可复用
    的头像 发表于 06-18 15:42 722次阅读
    鸿蒙开发网络管理: @ohos.net.<b class='flag-5'>http</b>  数据<b class='flag-5'>请求</b>

    提供稳定时钟同步的低抖动差分晶振

    电子发烧友网报道(文/李宁远)晶振,是电子设备中的关键器件,电子设备各个模块想要同步工作需要晶振提供的稳定时钟信号。除了提供稳定的时钟信号,晶振在生成各种频率的信号以及在控制设备的运行中都
    的头像 发表于 06-06 00:22 2548次阅读

    鸿蒙OS开发实战:【网络管理HTTP数据请求

    应用通过HTTP发起一个数据请求,支持常见的GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT方法。
    的头像 发表于 04-01 16:31 649次阅读
    鸿蒙OS开发实战:【网络管理<b class='flag-5'>HTTP</b>数据<b class='flag-5'>请求</b>】

    鸿蒙原生应用开发-网络管理HTTP数据请求

    一、场景介绍 应用通过HTTP发起一个数据请求,支持常见的GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT方法。 二、接口说明 HTTP数据请求
    发表于 03-29 17:51

    鸿蒙OS开发实例:【工具类封装-http请求

    ;@ohos.promptAction';** **封装HTTP接口请求类,提供格式化的响应信息输出功能。 使用 DevEco Studio 3.1.1 Release 及以上版本,API 版本为 api 9 及以上
    的头像 发表于 03-27 22:32 1251次阅读
    鸿蒙OS开发实例:【工具类封装-<b class='flag-5'>http</b><b class='flag-5'>请求</b>】

    arkts http 发起请求失败

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

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

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

    单片机内部时钟电路的工作原理

    单片机时钟电路是一种用于产生稳定时钟信号的电路,它是单片机正常工作的基础,决定了单片机的运行速度和性能。具体的设计和配置取决于单片机的型号和应用需求。
    发表于 01-16 15:33 5560次阅读
    单片机内部<b class='flag-5'>时钟</b>电路的工作原理

    时钟定时指南

    电子发烧友网站提供《时钟定时指南.pdf》资料免费下载
    发表于 11-16 09:56 0次下载
    <b class='flag-5'>时钟</b>及<b class='flag-5'>定时</b>指南

    HTTP 中GET 和 POST 的区别

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

    http和https的区别

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

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

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