HTTP 请求走私利用前后端服务器对同一请求边界解析不一致:反向代理/CDN 与源站对 Content-Length(CL)和 Transfer-Encoding: chunked(TE)优先级处理不同,攻击者把一段"夹带"的请求藏在前一个请求体内,后端把它解析成下一个独立请求。

典型 CL.TE 形态:前端按 CL 转发、后端按 TE 解析时,CL 声明的长度覆盖了夹带内容,后端读完 chunked 的 0 终止块后,剩余字节被拼进下一个请求。危害:绕过前端 ACL(直达 /admin)、缓存投毒、劫持他人请求、绕过 WAF。

现代架构仍高发的原因:HTTP/1.1 语义歧义(实现不一)、HTTP/2 降级转换——前端终止 HTTP/2 转回 HTTP/1.1 时重新引入长度字段(H2.CL/H2.TE)。防御:全链路统一 HTTP/2 端到端、前端规范化模糊请求(同时含 CL 和 TE 直接拒绝)、升级修复已知 CVE 的网关组件。追问方向:HTTP/2 走私、利用差异做缓存投毒。