Vulnérabilité basique CL.TE

HTTP request smuggling, basic CL.TE vulnerability

Dans ce laboratoire, l’infrastructure se compose d’un serveur frontal et d’un serveur dorsal. Le serveur frontal ne prend pas en charge le chunked encoding et rejette toute requête qui n’utilise pas les méthodes GET ou POST.

L’objectif est de smuggler une requête vers le serveur back-end afin que la requête suivante interprétée par celui-ci semble utiliser la méthode GPOST.

Remarque : Même si le laboratoire accepte HTTP/2, la technique nécessaire repose exclusivement sur HTTP/1. Il faut donc changer manuellement le protocole dans Burp Repeater via la section Request attributes de l’Inspector.

Astuce : Manipuler manuellement les longueurs dans une attaque de request smuggling peut être complexe. L’extension Burp HTTP Request Smuggler, disponible dans le BApp Store, peut faciliter cette tâche.

Exemple valide observé

La requête suivante est acceptée :

Erreur en modifiant la taille finale

Si l’on remplace le 0 terminal par un caractère invalide (ex. : X), le serveur signale une erreur :

Ajout du caractère final pour injecter G

En plaçant un G après le chunk final, on peut préparer la requête smuggled destinée au back-end :

Mis à jour

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