首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏知道创宇

    协议层的攻击——HTTP请求走私

    产生原因 HTTP请求走私这一攻击方式很特殊,它不像其他的Web攻击方式那样比较直观,它更多的是在复杂网络环境下,不同的服务器对RFC标准实现的方式不同,程度不同。 ,剩下的那一部分,就算是走私请求,当该部分对正常用户的请求造成了影响之后,就实现了HTTP走私攻击攻击者可利用该漏洞实施HTTP请求走私攻击或造成缓存中毒。 在美国国家信息安全漏洞库中,我们可以找到关于该漏洞的四个补丁,接下来我们详细看一下。 其他攻击实例 在前面,我们已经看到了不同种代理服务器组合所产生的HTTP请求走私漏洞,也成功模拟了使用HTTP请求走私这一攻击手段来进行会话劫持,但它能做的不仅仅是这些,在PortSwigger中提供了利用 HTTP请求走私攻击的实验,可以说是很典型了。

    2.2K20发布于 2019-10-11
  • 来自专栏Seebug漏洞平台

    协议层的攻击——HTTP请求走私

    产生原因 HTTP请求走私这一攻击方式很特殊,它不像其他的Web攻击方式那样比较直观,它更多的是在复杂网络环境下,不同的服务器对RFC标准实现的方式不同,程度不同。 ,剩下的那一部分,就算是走私请求,当该部分对正常用户的请求造成了影响之后,就实现了HTTP走私攻击攻击者可利用该漏洞实施HTTP请求走私攻击或造成缓存中毒。 在美国国家信息安全漏洞库中,我们可以找到关于该漏洞的四个补丁,接下来我们详细看一下。 其它攻击实例 在前面,我们已经看到了不同种代理服务器组合所产生的HTTP请求走私漏洞,也成功模拟了使用HTTP请求走私这一攻击手段来进行会话劫持,但它能做的不仅仅是这些,在PortSwigger中提供了利用 HTTP请求走私攻击的实验,可以说是很典型了。

    3K40发布于 2019-10-12
  • HTTP请求走私:隐藏在协议边界中的隐形攻击

    概述(Overview)HTTP请求走私(HTTPRequestSmuggling)是一种攻击技术,当处理HTTP请求链中的不同网络基础设施组件(如代理服务器、负载均衡器、Web服务器)对请求边界的解释不一致时产生 在请求走私中,缓存投毒(CachePoisoning)是一种常见的攻击后果,攻击者可以将恶意内容走私到缓存中,随后所有请求该资源的用户都会收到恶意内容。 如果攻击成功,contact.php的请求(由攻击走私)可能会捕获到其他正常用户提交到/(主POST请求)的数据,这些数据会被附加到query=参数的末尾。 注意:在走私生效期间,如果攻击者自己访问易受攻击的应用程序,可能会捕获到自己的请求,而不是目标用户的。 核心总结HTTP请求走私揭示了网络安全中一个关键真相:即便协议规范明确,不同实现的解析差异仍会创造致命攻击面。

    30830编辑于 2025-12-04
  • 来自专栏quan9i的安全笔记

    初探HTTP请求走私

    ,前端服务器(代理服务器)可能认为没问题,就传给了后端,而后端服务器(原站)在理解时,只认为一部分是正常请求,而另一部分请求就是走私请求,他会对第二个请求造成影响,此时也就造成了HTTP走私攻击。 ,请求走私攻击成功。 ,此时就会给客户端回显Unrecognized method aPOST错误信息,请求走私攻击成功。 走私攻击实例 gunicorn 20.0.4 请求走私漏洞 在复现漏洞之前,先简述一下其漏洞成因。 请求走私攻击成功。 Nginx<=1.18.0请求走私漏洞(CVE-2020-12440) Nginx<=1.18.0及之前版本中存在安全漏洞。

    2.5K60编辑于 2023-05-18
  • 来自专栏网络安全攻防

    CTF中的请求走私

    文章前言 HTTP请求走私是一种干扰网站处理从一个或多个用户接收的HTTP请求序列方式的技术,它允许攻击者绕过安全控制获得对敏感数据的未经授权的访问并直接危害其他应用程序用户,请求走私大多发生于前端服务器和后端服务器对客户端传入的数据理解不一致的情况 ,主要是因为HTTP规范提供了两种不同的方法来指定请求的结束位置,即Content-Length和Transfer-Encoding标头,请求走私主要与HTTP/1请求相关,但是支持HTTP/2的网站可能容易受到攻击 ,具体取决于其后端架构,本篇文章我们主要介绍一些CTF中常见的请求走私题目并对请求走私的利用实现一个强化效果 案例介绍 题目来源:[RoarCTF 2019]Easy Calc 靶机地址: https: -->"初步猜测是有WAF在作祟 接下来我们尝试一手请求走私是否存在,构造一个CL-CL: GET /calc.php? gzip, deflate Accept-Language: zh-CN,zh;q=0.9 Content-Length:68 Content-Length:5 num=1 文末小结 本篇文章主要介绍了请求走私

    56510编辑于 2024-01-22
  • 来自专栏网络安全攻防

    请求走私利用实践(上)

    ,而这也算是填补了自己之前遗留的一个坑吧 基本介绍 HTTP请求走私是一种干扰网站处理从一个或多个用户接收的HTTP请求序列方式的技术,它允许攻击者绕过安全控制获得对敏感数据的未经授权的访问并直接危害其他应用程序用户 标头,请求走私主要与HTTP/1请求相关,但是支持HTTP/2的网站可能容易受到攻击,具体取决于其后端架构 协议特性 在HTTP 1.0之前的通信协议中客户端会在进行HTTP请求时与服务器端通过TCP三次握手建立连接 ,因此可能会干扰应用程序处理该请求的方式,这便是请求走私攻击,可能会造成灾难性的后果 在HTTP 1.1版本中提供了两种不同的方式来指定请求的结束位置:Content-Length和Transfer-Encoding portswigger.net/web-security/request-smuggling/lab-obfuscating-te-header 解题过程: Step 1:访问上面的靶场地址抓取数据包并构造如下请求走私攻击请求 Content-Length: 11 q=smuggling 该请求通常会收到状态代码为200的HTTP响应,其中包含一些搜索结果,干扰这个请求所需的攻击请求取决于存在的请求走私的变体:CL.TE

    77410编辑于 2024-01-26
  • 来自专栏网络安全攻防

    请求走私利用扩展

    .0请求走私、H2.0走私、去同步化攻击等,同时本篇文章也是对请求走私系列的最后一个收官,至此请求之前留下的请求走私的坑也算是被填完了 CL.0走私 基本介绍 请求走私漏洞是由于"链式系统"中确定每个请求的起点和终点的方式存在差异 /1的网站可能容易受到等效的"H2.0"问题的攻击,这里不再赘述,有兴趣的可以看之前的《HTTP/2请求走私深入刨析》和《请求走私一篇通》进行了解 去同步类 基本介绍 客户端去同步(CSD)是一种使受害者的 Web浏览器去同步其与易受攻击网站的连接的攻击方式,它与请求走私类似,只不过请求走私主要是使前端和后端服务器之间的连接不同步 CSD攻击包括以下阶段 受害者访问任意域上包含恶意JavaScript的网页 HTTP/1的后端服务器通信提供HTTP/2支持,从而导致攻击者可以借助协议降级继续请求走私,衍生出了H2.CL、H2.TE等请求走私手法,而本文则是对之前两则的一个补充和扩展,引入了新的CL.0走私、 H2.0走私以及去同步走私攻击,通过请求走私攻击者可以进行缓存投毒、绕过权限管控访问特殊资源并执行敏感操作等攻击 参考链接 https://portswigger.net/research/browser-powered-desync-attacks

    82910编辑于 2024-02-22
  • 来自专栏网络安全攻防

    HTTP2请求走私(上)

    HTTP/2,那么攻击者便没有机会引入请求走私所需的模糊性,然而由于HTTP/2降级的普遍但危险的实践,情况往往不是这样 协议降级 HTTP/2降级是使用HTTP/1语法重写HTTP/2请求以生成等效的 ,因为前端服务器会降低HTTP/2请求的级别,即使它们的长度不明确,要解决实验室问题,你需要执行请求走私攻击使受害者的浏览器从漏洞利用服务器加载并执行恶意JavaScript文件,调用alert(document.cookie ,如果前端服务器未能做到这一点并且随后降级了对支持分块编码的HTTP/1后端的请求,也将会导致请求走私攻击 如果我们以HTTP/2的格式发送如下请求: :method POST :path /example Transfer-Encoding: chunked 0 GET /admin HTTP/1.1 Host: vulnerable-website.com Foo: bar 队列中毒 基本介绍 响应队列中毒是一种请求走私攻击形式 攻击不会导致任何一台服务器关闭TCP连接,服务器通常会在收到无效请求时关闭传入的连接,因为它们无法确定请求应该在哪里结束 中毒原理 请求走私攻击通常涉及走私部分请求,服务器将其作为前缀添加到连接中下一个请求的开始

    66610编辑于 2024-02-01
  • 来自专栏OneTS安全团队

    Tomcat请求走私(CVE-2024-21733)

    漏洞描述 Apache Tomcat 8.5.7 至 8.5.63、9.0.0-M11 至 9.0.43 版本容易受到客户端同步取消攻击。 当 Web 服务器无法正确处理 POST 请求的 Content-Length 时,就会发生客户端同步 (CSD) 漏洞。 通过利用此漏洞,攻击者可以强制受害者的浏览器取消与网站的连接同步,从而导致敏感数据从服务器、客户端连接中请求走私

    74710编辑于 2025-02-07
  • 来自专栏网络安全攻防

    请求走私利用实践(下)

    走私绕过 前端限制 假设应用程序使用前端服务器来实现访问控制限制,仅当用户被授权访问所请求的URL时才转发请求,然后后端服务器接受每个请求,而不做进一步的检查,在这种情况下可以利用HTTP请求走私漏洞通过请求走私访问受限制的 URL从而绕过访问控制,假如允许当前用户访问/home,但不允许访问/admin,他们可以使用以下请求走私攻击绕过这一限制: POST /home HTTP/1.1 Host: vulnerable-website.com ,这些可能包括用户提交的会话令牌或其他敏感数据,评论、电子邮件、个人资料描述、屏幕名称等等都适合作为这种攻击的载体,在执行攻击时您需要发送一个向存储函数提交数据的请求,并将包含要存储的数据的参数放在请求的最后 点击Login并进行登录,替换SESSION为之前的带出来的SESSION信息 XSS反射 如果应用程序容易受到HTTP请求走私攻击并且还包含反射XSS,那么我们便可以使用请求走私攻击攻击应用程序的其他用户 它可用于在普通反射XSS攻击中无法轻易控制的请求部分(例如:HTTP请求头)中利用XSS行为 假设一个应用程序在用户代理头中有一个反射的XSS漏洞,您可以在请求走私攻击中利用这一点,如下所示: POST

    47210编辑于 2024-01-26
  • 来自专栏网络安全攻防

    HTTP2请求走私(下)

    request-smuggling/advanced/lab-request-smuggling-h2-request-smuggling-via-crlf-injection 靶场介绍:本靶场容易受到请求走私攻击 基本介绍 上面我们讨论的许多请求走私攻击之所以可以实现是因为前端和后端之间的相同连接处理多个请求,尽管有些服务器会为任何请求重用连接,但其他服务器有更严格的策略,例如:有些服务器只允许来自同一IP地址或同一客户端的请求重用连接 这将有可能对前端实现完全隐藏请求及其匹配的响应,通过使用这种技术我们可以绕过前端安全措施,甚至一些专门为防止请求走私攻击而设计的机制也无法阻止请求隧道,这种方式将请求隧道传输到后端并提供了一种更有限的请求走私形式 ,因此不容易受到传统的请求走私攻击,然而它仍然容易受到隧道请求攻击 靶场演示: Step 1:首先访问以上靶场地址,然后点击"ACCESS THELAB"进入靶场 Step 2:在Burpsuite中捕获请求并将协议更改为 缓存投毒 基本介绍 请求隧道通常比传统的请求走私更受限制,但有时我们仍然可以构造高严重性的攻击,例如:我们可以将制作一个Web缓存投毒攻击,通过使用请求隧道可以有效地将一个响应的头部与另一个响应的主体混合和匹配

    1.2K10编辑于 2024-02-01
  • 来自专栏FreeBuf

    如何分析HTTP请求以降低HTTP走私攻击(HTTP数据接收不同步攻击)的风险

    1996 HTTP/1.1 RFC 2068– 1997 RFC 2616- 1999 RFC 7230- 2014 这也就意味着,互联网中各种各样的服务器和客户端,可能会存在很多安全问题,这也会给HTTP走私攻击 (HTTP数据接收不同步攻击)创造了机会。 http_desync_guardian这个工具库便应运而生,该工具可以帮助广大研究人员分析HTTP请求,以防止HTTP走私攻击(HTTP数据接收不同步攻击)的发生,同时还能够兼顾安全性和可用性。 该工具可以将请求进行分类,并并提供针对每一层的处理建议。 该工具既可以分析原始的HTTP请求Header,也可以对那些已经被HTTP引擎分析过的请求数据进行二次分析。 HTTP/1.1的前身不支持连接重用,这限制了HTTP去同步的机会,但是一些代理可能会将此类请求升级到HTTP/1.1,并重新使用后端连接,这可能会导致恶意HTTP/1.0请求

    71230编辑于 2022-02-25
  • 来自专栏FreeBuf

    如何使用HRSDT检测HTTP请求走私

     HTTP请求走私检测工具介绍  HTTP请求走私是一种严重的安全漏洞,攻击者可以利用恶意HTTP请求来绕过安全控制措施并获得未经授权的访问权,然后在目标服务器上执行恶意操作。 这款工具的主要目的就是为了帮助广大研究人员在给定的主机上检测HTTP请求走私漏洞。  技术细节  该工具基于Python语言开发,因此我们需要在本地设备上安装并配置好Python 3.x环境。 针对每台给定的主机,该工具将使用这些URL生成攻击请求对象Payload,并计算每一个请求所返回响应的时间,用以确定漏洞。  

    1.5K40编辑于 2023-03-30
  • 来自专栏Khan安全团队

    神兵利器 - HTTP 请求走私检测工具

    HTTP 请求走私是一种高危漏洞,是一种攻击走私模糊的 HTTP 请求以绕过安全控制并获得未经授权的访问以执行恶意活动的技术,该漏洞早在 2005 年就被watchfire发现,后来在 2019 年 URL 列表的输入,并且通过遵循 HRS 漏洞检测技术,该工具具有内置的有效负载,其中包含大约 37 个排列和检测有效负载的 CL.TE 和TE.CL 和对于每个给定的主机,它将使用这些有效载荷生成攻击请求对象 ,并计算收到每个请求的响应后经过的时间并确定漏洞,但大多数情况下它可能是误报,因此确认您可以使用 burp-suite turbo intruder 的漏洞并尝试您的有效载荷。

    2K41发布于 2021-08-26
  • 来自专栏vivo互联网技术

    非侵入式入侵 —— Web缓存污染与请求走私

    作者:vivo 互联网安全团队- Gui Mingcheng 本文介绍了两种攻击者无需直接接触服务端即可攻击和影响用户行为的安全漏洞 —— Web缓存污染与请求走私。 三、HTTP请求走私攻击原理与场景 3.1 HTTP请求走私的基本原理 在RFC2616的第4.4节中,规定:如果收到同时存在Content-Length和Transfer-Encoding这两个请求头的请求包时 可以看到,这里攻击者完全可以劫持受害者的请求,从接口地址到请求头以及请求参数,因此具有较大的危害性。 3.4 HTTP请求走私攻击的效果是什么? 这里举一个例子 —— 捕获其他用户的请求攻击者发现业务存在HTTP请求走私漏洞,同时又找到了评论接口 /post/comment 这种可以回显请求内容的功能点。 因此,如果说有哪种漏洞能够在不直接攻击业务服务器和受害者电脑就能够实施大批量的攻击利用,从而影响到用户请求和收到的响应内容,则Web缓存污染和HTTP请求走私会是我们重点关注的核心风险问题。

    87040编辑于 2023-03-14
  • 来自专栏AI SPPECH

    020_Web安全攻防实战:HTTP请求走私原理、高级攻击技术与全面防御策略深度指南

    我们将从HTTP协议的基础知识出发,逐步讲解各种类型的请求走私攻击,分析真实的攻击案例,并提供实用的防御建议。 请求走私攻击主要针对请求消息的结构设计。 这两种机制之间的交互是请求走私攻击的核心。 1.2 HTTP请求走私的本质 HTTP请求走私攻击利用了多层HTTP服务器(如前端代理和后端服务器)之间对HTTP请求边界理解的差异,导致请求被错误地解析和处理。 3.2.1 缓存投毒与请求走私结合 攻击步骤: 使用请求走私技术向服务器发送包含恶意内容的请求 确保响应被缓存系统缓存 其他用户访问相同资源时获取恶意缓存内容 攻击示例: POST / HTTP/1.1

    45810编辑于 2025-11-17
  • HTTP2 请求走私:当现代协议遭遇传统威胁

    攻击目标:攻击者发送精心构造的HTTP/2请求到前端,旨在影响其转换成的HTTP/1.1请求,从而在后端连接上造成HTTP不同步(desynchronization)。 /5.0content-length0#关键点HELLO#实际的HTTP/2请求体,将被走私后果(后端看到):第一个请求(来自攻击者):展开代码语言:TXTAI代码解释POST/HTTP/1.1User-Agent 但攻击者仍然可以向自己的后端连接走私请求。这种场景通常用于:绕过前端代理的访问控制限制。探测或泄露内部网络信息或代理添加的内部头部。进行Web缓存投毒。 走私的GET/post/like/...请求不完整,等待数据。 结语HTTP/2的设计本应消除HTTP/1.1中的请求走私问题,但现实中的混合部署架构——前端代理使用HTTP/2而后端使用HTTP/1.1——却创造了新的攻击面。

    30830编辑于 2025-12-04
  • 来自专栏网络安全技术点滴分享

    Node.js HTTP请求走私漏洞利用(CVE-2025-23167)

    CVE-2025-23167 – Node.js HTTP请求走私漏洞利用针对CVE-2025-23167的有效漏洞利用,这是一个影响Node.js 20.x版本(低于v20.19.2)的请求走私漏洞。 该漏洞允许不当的HTTP头部终止,使攻击者能够绕过基于代理的访问控制。

    30600编辑于 2025-08-30
  • 来自专栏Khan安全团队

    Hvv 日记 威胁情报 8.13 Tomcat请求走私(CVE-2024-21733)

    Coyote 是Tomcat 的连接器组件,是Tomcat 服务器提供的供客户端访问的外部接口,客户端通过 Coyote 与服务器建立链接、发送请求并且接收响应。 由于 coyote/http11/Htp11lnputBuferjava 中在抛出 CloseNowException 异常后没有重置缓冲区位置和限制,攻击者可发送不完整的 POST请求触发错误响应,从而可能导致获取其他用户先前请求的数据 帆软报表v9版本存在任意文件写入漏洞,由于初始化svg文件时对传入参数没有限制,可以将数据覆盖到已有jsp文件中,可写入webshell导致命令执行,攻击者可通过该漏洞获取服务器权限。

    1.5K10编辑于 2024-08-14
  • 来自专栏谢公子学安全

    由一次渗透测试引发的HTTP请求走私思考

    遂将其发现过程记录下来 这是在hackerone上最近一个价值5000刀的洞(如果我也来几个这样的洞相信我也能凭靠SRC买宝马): 在这份报告中这个漏洞的危害在于它既可以形成信息泄露又能将受害者的请求进行劫持甚至将受害者重定向到攻击者网站 但是当攻击者在下一个合法用户的请求开始时发送一些模糊的HTTP请求时,由于两者服务器的实现方式不同,可能代理服务器认为这是一个 HTTP 请求,然后将其转发给了后端的源站服务器,但源站服务器经过解析处理后 ,只认为其中的一部分为正常请求,剩下的那一部分,就算是走私请求。 图片来源:https://portswigger.net/web-security/request-smuggling 常见的HTTP请求走私攻击分为三种形式: CL.TE:前端服务器使用Content-Length 如果要使用差异响应确认CL.TE漏洞,我们需要发送如下的攻击请求: POST /search HTTP/1.1 Host: vulnerable-website.com Content-Type: application

    1.2K20编辑于 2022-01-20
领券