CRLF 驱动的反同步:请求拆分到响应队列投毒再到蠕虫
CRLF 驱动的反同步:请求拆分到响应队列投毒再到蠕虫
一句话:PortSwigger × TurtleSec 把"HTTP 头注入"这个通常只值个 low 的漏洞系统性升级为
完整的反同步攻击面——RQP、缓存投毒、甚至自传播蠕虫,并给出把 IP/连接锁定的 desync
搬进受害者浏览器执行的新解法。
要点:
- 前提:反代(典型 Nginx
proxy_pass ...$uri路径规范化导致 CRLF 解码注入)或自定义
上游头等注入点;两个连续 CRLF 即合法请求边界,无需变异头部、开箱即用 - 请求拆分 smuggle 两个完整请求 → Response Queue Poisoning:持续收割其它用户的响应
(含 session/token),并使全站 DoS;实测可在 CDN 自身基础设施内部触发 desync,
一举波及该 CDN 上数千个不相关应用 - 关键新手法:Browser-Powered Desync——对 IP 锁定/连接锁定的 desync,把攻击流量
移到受害者浏览器里执行,凭空造出 XSS 并偷 HTTPOnly cookie(HEAD + Range 拆分等) - 其它产出:CRLF-Powered Desync Worm(自传播)、请求隧道绕过访问控制、绕过响应头删除
原语抽象:字符注入改变请求边界("低危头注入")→ 共享基础设施(代理/CDN)上的
队列与状态混淆。单点危害低,升级潜力才是真实危害度量。
亲戚手法:经典 CL.TE 走私同族(HTTP 反同步家族);本次演进:无需变异头(连续
CRLF 即合法边界)、把攻击执行载体从脚本换成受害者浏览器(绕 IP/连接锁定)。
防御启示:对注入点的定级要按"可升级成什么协议原语"而非直接危害;代理侧
禁止解码后的 CRLF 进入 upstream 头与路径。
原文: https://portswigger.net/research/crlf-powered-desync-attacks
来源发布时间: 2026-08-05