新型HTTP走私攻击技术使攻击者可注入恶意请求
攻击原理概述
这种复杂的HTTP请求走私攻击利用了前端代理服务器与后端应用服务器之间的解析行为差异。新技术通过畸形的分块传输编码扩展绕过现有安全控制措施,向Web应用程序注入未经授权的次级请求。
核心要点
- 利用畸形的HTTP分块编码制造前后端解析差异
- 通过注入隐藏的次级请求绕过安全控制
- 建议应用补丁并迁移至HTTP/2协议
HTTP走私漏洞分析
该攻击针对HTTP/1.1协议实现中的根本性漏洞,即不同服务器对模糊请求格式的解析不一致。攻击者可利用这些解析差异绕过Web应用防火墙(WAF)、内容分发网络(CDN)和负载均衡器,可能获取对敏感后端资源的未授权访问。
根据RFC 9112规范,每个分块包含以十六进制格式表示大小的头部,后跟以分号开头的可选分块扩展。研究人员发现,攻击者可通过发送包含裸分号(无正确扩展名)的畸形头部来操纵分块扩展解析。
攻击实施细节
这种解析差异导致前端系统与后端服务器对畸形语法的解释不同。攻击模式如下:攻击者发送以分号结尾但无扩展名的分块大小行,导致前端解析器将整个序列视为单个请求,而后端解析器将分号后的换行符视为分块头结束标记。
这使得攻击者能够在零长度分块后嵌入次级HTTP请求,后端系统会将其处理为合法的独立请求,从而有效绕过前端安全验证。
漏洞根源与缓解措施
该漏洞源于HTTP/1.1固有的设计缺陷,特别是其基于文本的解析方式以及通过Content-Length头、Transfer-Encoding规范或分隔符表达消息边界的多种方法。许多服务器实现优先考虑兼容性而非严格遵循RFC标准,导致对畸形请求的宽松解析,从而产生可利用的不一致性。
安全专家强调,受影响系统已部署全面补丁,保持软件最新版本的组织可获得完全防护。但最有效的长期缓解措施是迁移至HTTP/2协议,该协议采用二进制帧机制消除了模糊解析场景,从而杜绝请求走私攻击。
这一事件凸显了协议级安全考量的重要性,也揭示了HTTP/1.1的基本漏洞——尽管存在现有防护措施,这些漏洞仍持续为复杂的绕过技术提供可乘之机。