HTTP Request Smuggling occurs when the front-end and back-end servers disagree about where one request ends and the next begins. This vulnerability allows attackers to bypass security controls, gain unauthorized access, and poison web caches.
- CL.TE - Content-Length vs Transfer-Encoding
- TE.CL - Transfer-Encoding vs Content-Length
- TE.TE - Transfer-Encoding obfuscation
- CL.CL - Duplicate Content-Length headers
- Front-end/Back-end server desynchronization
- Load balancer misconfigurations
- Reverse proxy issues
- CDN edge servers
- WAF bypass
- Bypass security controls
- Web cache poisoning
- Cross-site scripting
- Request hijacking
- Credential theft
- Access other users' requests
- Send requests with conflicting Content-Length and Transfer-Encoding headers
- Observe timing differences and response variations
- Test with different header obfuscation techniques
- Verify if smuggled requests affect subsequent requests
- HAProxy + Apache
- Nginx + Apache
- AWS ALB + various backends
- Akamai + various backends
- Cloudflare + various backends
See http-request-smuggling-payloads.txt for a comprehensive list of HTTP Request Smuggling payloads.