HTTP请求走私

admin 2025年2月21日23:45:03评论13 views字数 944阅读3分8秒阅读模式
HTTP请求走私
01
定义

HTTP请求走私(HTTP Request Smuggling)是攻击者通过构造特殊格式的HTTP请求,利用前端(反向代理/CDN)和后端服务器对协议解析的差异,劫持其他用户请求或窃取数据的攻击手法。

举个例子,攻击者可以先发送一个正常的请求,然后在请求体中插入一些特殊的字符,让服务器以为这个请求已经结束了。接着,攻击者再插入一个新的请求,这个请求就会被服务器当作一个新的请求来处理。

核心逻辑:

  • 前端服务器解析 -> 认为请求A结束。

  • 后端服务器解析 -> 认为请求A未结束,继续处理后续内容。

02
攻击手法

CL.TE攻击(Content-Length vs Transfer-Encoding)

原理:前端用Content-Length,后端用Transfer-Encoding解析请求。

HTTP请求走私

结果:后端将GET /admin视为独立请求,绕过前端权限校验。

TE.CL攻击(Transfer-Encoding vs Content-Length)

原理:前端用Transfer-Encoding,后端用Content-Length解析请求。

HTTP请求走私

结果:后端解析出两个请求,第二个请求被篡改为POST /。

TE.TE攻击(混淆编码)

原理:构造非标准的Transfer-Encoding标头,触发前后端解析差异。

HTTP请求走私

结果:不同服务器对多重编码处理不一致,导致请求分割。

03
漏洞危害

1、攻击者可以绕过安全防护设备,访问到原本无法访问的资源。

2、篡改服务器的响应内容,甚至获取用户的敏感信息。

比如,攻击者可以利用请求走私,将恶意代码注入到服务器的响应中,当用户访问这个页面时,就会执行攻击者的代码,从而导致用户的信息泄露。

04
防护措施

输入过滤:清洗恶意请求。

协议标准化:统一解析逻辑。

使用HTTP/2协议:HTTP/2协议对请求的解析更加严格,可以有效防止请求走私。

05
真实案例

某云服务商漏洞(CVE-2020-9490)

漏洞点:Apache HTTP Server与Tomcat解析差异

后果:攻击者访问内部管理接口,删除核心数据导致服务中断12小时

06
思考题

某网站前端用CL,后端用TE解析请求,如何构造Payload访问/flag路径?

07
下期预告

《网安60秒丨点击劫持》

原文始发于微信公众号(小白学安全):网安60秒丨HTTP请求走私

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月21日23:45:03
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   HTTP请求走私https://cn-sec.com/archives/3766363.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息