Vulnérabilité TE.CL – Smuggling HTTP Request

HTTP request smuggling, basic TE.CL vulnerability

Dans ce scénario, l’application utilise un serveur frontal et un serveur interne. Le serveur back-end ne prend pas en charge le chunked encoding, tandis que le serveur front-end accepte uniquement les méthodes GET et POST. Cette différence de comportement 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 laboratoire

Injecter une requête dans le flux HTTP de manière à ce que la requête suivante traitée par le serveur back-end semble utiliser la méthode GPOST, ce qui valide le labo.

Notes importantes

  • Même si le labo supporte 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 à manipuler 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, permettant d’introduire une seconde requête :

Mis à jour

Ce contenu vous a-t-il été utile ?