Agent Skills
返回列表
🔒

请求走私

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/request-smuggling-t2du 到你的 AI 助手中。

技能介绍

你要解决的问题

HTTP 请求走私(Request Smuggling)的本质是:前端代理(Nginx、HAProxy、CDN、ALB/CloudFront)与后端服务对 Content-Length 与 Transfer-Encoding 的解析规则不一致,导致两个服务器对「一条请求在哪里结束、下一条请求从哪里开始」的理解产生分歧。攻击者利用这种分歧,把精心构造的请求走私进后端队列,进而绕过 WAF、篡改缓存、劫持他人会话。

本技能要解决的具体问题是:在目标架构存在代理/负载均衡,且可能涉及 HTTP/2 降级等场景时,系统性地判断目标是否可被走私,并给出可复现的确认证据。

这个技能如何工作

技能以检查清单形式组织,按固定顺序推进:

  • 侦察阶段:识别多服务器架构,确认前端代理类型与 HTTP/2 支持情况。
  • 基础探测:分别发送 CL.TE、TE.CL 变体,通过观察后续正常请求的时间延迟判断是否存在队列干扰。
  • 确认测试:走私一个伪造的 GPOST 方法请求,若第二个请求返回未识别方法,即可坐实反同步。
  • 混淆绕过:对 Transfer-Encoding 头做 TE.TE 混淆(如 Transfer-Encoding: cow),试探哪一端忽略了混淆头。
  • HTTP/2 专项:检测 H2.CL/H2.TE 降级冲突、h2c 明文升级处理不当、:authority 与 Host 归一化差异。
  • 影响验证:验证 WAF 绕过、缓存投毒、响应队列污染、凭据篡改等可利用路径。

适用边界与注意点

  • 只适用于存在前后端代理架构的目标;直连应用不存在该攻击面。
  • HTTP/2 测试需要后端兼容 HTTP/1,且需注意 Burp 的「Update Content-Length」选项在 TE.CL/TE.TE 测试中必须关闭。
  • 时间延迟法受网络抖动影响,需多次复测;部分现代变体(基于超时、基于方法)需要更精细的差分观察。
  • 客户端侧反同步(CSD)依赖浏览器缓存行为,复现环境需与真实用户一致。
  • 确认漏洞后应在授权范围内验证影响,避免对共享缓存或他人会话造成实际污染。

使用场景

  • 渗透测试中目标部署在 Nginx 或 ALB 之后,需要确认是否存在 CL.TE 或 TE.CL 请求走私
  • 链路引入 HTTP/2 到 HTTP/1 后端降级后,需排查 H2.CL 走私与 :authority 归一化差异
  • 验证走私请求能否绕过 WAF 检测,并向服务多用户的共享缓存投毒
  • 目标经 CDN 暴露,需确认 :authority 与 Host 解析差异是否引发客户端侧反同步

适合人员

  • 渗透测试工程师:对代理架构目标做请求走私验证,产出可复现证据
  • 应用安全工程师:评估反向代理配置变更引入的走私与缓存投毒风险
  • 平台 SRE 工程师:排查 HTTP/2 降级链路、h2c 升级路径的走私攻击面
  • 安全研发工程师:验证自研网关的头解析一致性,防止 CL/TE 解析分歧