Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

HTTP Request Smuggling

Description

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.

Vulnerability Types

  • 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

Common Attack Vectors

  • Front-end/Back-end server desynchronization
  • Load balancer misconfigurations
  • Reverse proxy issues
  • CDN edge servers
  • WAF bypass

Impact

  • Bypass security controls
  • Web cache poisoning
  • Cross-site scripting
  • Request hijacking
  • Credential theft
  • Access other users' requests

Testing Approach

  1. Send requests with conflicting Content-Length and Transfer-Encoding headers
  2. Observe timing differences and response variations
  3. Test with different header obfuscation techniques
  4. Verify if smuggled requests affect subsequent requests

Common Vulnerable Configurations

  • HAProxy + Apache
  • Nginx + Apache
  • AWS ALB + various backends
  • Akamai + various backends
  • Cloudflare + various backends

Payloads

See http-request-smuggling-payloads.txt for a comprehensive list of HTTP Request Smuggling payloads.