CyberGlossary

漏洞

HTTP 失同步攻击

别称: HTTP/1.1 失同步, 连接状态攻击

定义

现代形式的 HTTP 请求走私,使一条由代理和服务器组成的链路失去同步,从而将恶意流量注入其他用户的连接。

由 James Kettle 在 2019 年的研究 "HTTP Desync Attacks" 推广,失同步攻击故意让前端代理与后端在请求流解析上不同步。常用技术包括 CL.TE、TE.CL、TE.TE、HTTP/2 到 HTTP/1.1 的降级以及分块编码技巧。连接一旦失同步,攻击者的字节就会前置到下一个受害者的请求中,导致凭据窃取、内部端点访问、响应队列投毒以及绕过认证或 WAF。防御措施:端到端使用 HTTP/2、严格的头部校验、拒绝同时包含 Content-Length 与 Transfer-Encoding 的请求、在边缘丢弃歧义请求,并使用 HTTP Request Smuggler 等工具持续测试。

示例

  • HTTP/2 降级到 HTTP/1.1 的失同步攻击,窃取其他用户的会话 Cookie。
  • 前端 keep-alive 失同步劫持下一条请求至内部 admin URL。

相关术语