
反向代理和后端对如何解析带有畸形 WebSocket 升级头的 HTTP 请求存在分歧。代理将其视为一个请求,而后端将其解释为两个,从而允许攻击者走私一个隐藏请求。这可能导致缓存中毒或访问控制绕过。
Upgrade 头的 WebSocket 检测触发后,将后续数据作为新的 HTTP 请求处理。python reverse_proxy.py & # port 8080
python websocket_backend.py & # port 8081
python exploit_ws_smuggling.py