HTTP请求走私
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/request-smuggling-lr-bfvz
技能介绍
解决的核心问题
在复杂的代理链路中,HTTP 请求走私(Request Smuggling)源于 CDN、反向代理与源站对请求结束边界的解析分歧。当前端与后端采用不同的标准(如一个信任 Content-Length,另一个信任 Transfer-Encoding)时,攻击者可以构造畸形请求,导致服务器将部分字节误认为下一个合法请求。本技能专注于解决此类 HTTP 去同步(Desync)问题,而非简单的头部注入。
技能工作方式与核心能力
该技能通过模拟前后端解析差异,复现并利用消息边界分歧。核心探测步骤包括:
CL.TE探测:假设前端优先信任Content-Length,后端优先信任Transfer-Encoding: chunked。通过设置极短的Content-Length让前端认为请求已结束,而后端在解析完 chunked 结尾后,将剩余的字节流作为下一个请求的起始进行解析。TE.CL探测:假设前端解析 chunked,后端仅读取Content-Length。- 此外,技能还支持
TE.TE混淆变体、HTTP/2 降级时的伪头部混淆、客户端去同步及工具辅助模糊测试。
适用边界与前置要求
使用本技能前,必须熟悉原始 HTTP/1.1 帧结构与反向代理拓扑。它并非通用的 Web 漏洞扫描工具,而是针对特定架构缺陷的专家级攻击手册。在排查 Apache HttpClient 相关漏洞时,需结合 ghost-bits 注入技术进行综合路由分析。
使用场景
- 在渗透测试中,怀疑 CDN 与源站对请求结束边界判定不一致,需用 CL.TE 和 TE.CL 探测确认走私可行性
- 排查 HTTP/2 降级到 HTTP/1.1 时请求异常拼接的问题,需分析伪头部混淆与去同步成因
- 测试浏览器 fetch 管道是否可被利用发起客户端去同步攻击,需模拟前端与后端解析分歧
- 当目标系统使用 Apache HttpClient ≤ 4.5.9 时,需结合 ghost-bits 注入与请求走私进行联合测试
适合人员
- Web 安全工程师:需要在渗透测试中利用 CL.TE/TE.CL 等请求走私手法突破 CDN 与源站之间的边界分歧
- 渗透测试人员:负责探测代理链架构中的消息边界分歧,编写并执行走私请求 PoC 验证漏洞
- Web 基础设施工程师:排查反向代理与源站之间因解析差异导致的请求走私风险,定位去同步漏洞
- HTTP 协议安全研究员:研究 H2 降级与客户端去同步等高级走私技术,输出攻击方法论与防护建议