Bypass de la sécurité du front-end (TE.CL)
Exploiting HTTP request smuggling to bypass front-end security controls, TE.CL vulnerability
Le système repose sur un serveur front-end et un serveur back-end. Le back-end ne gère pas le chunked encoding, tandis que le front-end bloque l’accès à /admin. L’objectif consiste à dissimuler une requête vers /admin afin de supprimer l’utilisateur carlos.
Bien que l’application prenne en charge HTTP/2, l’exploitation repose sur des techniques propres à HTTP/1.

Observation initiale
Le front-end interprète correctement Transfer-Encoding: chunked.
On envoie d’abord une requête simple :
Construction de la requête smuggled
On injecte une nouvelle requête complète dans le corps chunked.
Modèle préparatoire
Ajustement des tailles
On fixe une Content-Length minimale côté front-end, puis un chunk contenant la requête smuggled :
Le serveur interprète bien la requête injectée.

Injection de la requête finale pour supprimer Carlos
On remplace la requête cible par une suppression de l’utilisateur :
Cette requête smuggled est ensuite traitée directement par le back-end, contournant totalement le filtrage du front-end.

Mis à jour
Ce contenu vous a-t-il été utile ?