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 ?