Agent Skills
返回列表
🔒

HTTP 请求走私

IT 运维与安全 更新于 2026.08.30

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

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/request-smuggling-sh-qe74ze。

技能介绍

要解决的问题

当请求链路上存在多个 HTTP 解析器(反向代理、负载均衡、网关、CDN)时,攻击者可以构造畸形的 Content-Length 与 Transfer-Encoding 头组合,让不同解析器对「这条请求到哪里结束、下一条从哪里开始」给出不同答案。这就是 HTTP 请求走私(Request Smuggling),也叫 proxy desync。

后果很具体:紧跟其后的请求可能被当作别人的会话处理(凭证劫持),恶意响应可能被写进共享缓存(缓存投毒),或者直接绕过 WAF —— 因为 WAF 看到的请求边界和后端服务器看到的并不一样。

request-smuggling 就是为这类验证场景准备的:当你需要测试自己的反向代理 / 负载均衡配置时,它提供一套可以照着逐步执行的检查清单。

技能如何工作

技能的核心是一份有序的方法论清单。激活后它会:

  • 按顺序加载并应用完整方法,除非你指定跳过某一步
  • 针对每种技术,先判断它与当前目标和上下文的匹配程度
  • 逐项记录清单的完成状态,最后基于发现给出下一步建议

覆盖的技术面包括:

  • 走私变体:CL.TE、TE.CL、TE.TE,以及 TE.TE 下通过混淆头部来绕过过滤器的做法
  • 检测手段:利用计时差异(timing)与差异化响应(differential responses)判断前后端是否对边界理解不一致
  • 衍生影响验证:缓存投毒、凭证劫持
  • WAF 绕过:借助解析器边界差异让安全设备漏检真实请求
  • HTTP/2 走私:HTTP/2 环境下的走私路径

适用边界

  • 该技能面向测试你自己的基础设施,不是通用攻击教程。请只在获得授权的系统上使用。
  • 它假设你能观察到前后端响应的差异(计时、状态码、响应体)。如果链路上不存在可观测的差异化信号,检测结果会偏弱。
  • 清单按顺序执行效果最好,随意跳步可能破坏后续步骤的前置条件。
  • HTTP/2 部分的走私手法与 HTTP/1.1 行为不同,需要分开处理。

使用场景

  • 为新上线的反向代理网关编写安全验收清单,逐项验证 CL.TE、TE.CL 走私是否成立并记录结果
  • 排查线上疑似由前端与后端解析差异引起的异常会话,借助计时与差异化响应定位走私点
  • 在 WAF 上线前验证过滤器是否会被 TE.TE 混淆头部绕过,确认其检测边界与后端一致
  • 测试走私请求之后共享缓存是否被写入恶意响应,评估缓存投毒与凭证劫持风险

适合人员

  • 负责生产环境反向代理与负载均衡配置的安全工程师,需要在上线前系统验证多解析器的边界行为
  • 维护 WAF 与共享缓存架构的 Web 防护工程师,需要确认检测设备与后端服务器对请求边界的理解一致
  • 执行渗透测试或红队评估的安全测试人员,需要在授权范围内按清单验证走私手法及其衍生影响
  • 管理高流量入口网关的后端基础设施工程师,需要在配置变更后回归验证走私防护是否仍然有效