Entry № 552
HTTP 失同步攻击
HTTP 失同步攻击 是什么?
HTTP 失同步攻击现代形式的 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 等工具持续测试。
● 示例
- 01
HTTP/2 降级到 HTTP/1.1 的失同步攻击,窃取其他用户的会话 Cookie。
- 02
前端 keep-alive 失同步劫持下一条请求至内部 admin URL。
● 常见问题
HTTP 失同步攻击 是什么?
现代形式的 HTTP 请求走私,使一条由代理和服务器组成的链路失去同步,从而将恶意流量注入其他用户的连接。 它属于网络安全的 漏洞 分类。
HTTP 失同步攻击 是什么意思?
现代形式的 HTTP 请求走私,使一条由代理和服务器组成的链路失去同步,从而将恶意流量注入其他用户的连接。
如何防御 HTTP 失同步攻击?
针对 HTTP 失同步攻击 的防御通常结合技术控制与运营实践,详见上方完整定义。
HTTP 失同步攻击 还有哪些其他名称?
常见的别称包括: HTTP/1.1 失同步, 连接状态攻击。