Smuggling via CL.0

0.CL request smuggling

Résumé du laboratoire

Dans ce scénario, on exploite une vulnérabilité de type CL.0, où le serveur back-end ignore l’en-tête Content-Length pour certains chemins. Cette incohérence permet d’injecter une seconde requête dans le corps d’une requête POST apparemment normale.

Identification de l’endpoint vulnérable

Après quelques tests, on constate que l’URL :

est traitée différemment par le back-end : même si Content-Length est défini à zéro, le serveur récupère tout le contenu fourni, ce qui crée une fenêtre parfaite pour un smuggling basé sur CL.0.

Injection d’une requête cachée

On envoie d’abord une requête POST minimale pour confirmer le comportement :

Ensuite, on profite du fait que le back-end lit malgré tout le contenu pour lui smuggler une deuxième requête, ici destinée à atteindre le panneau d’administration :

Le back-end interprète la partie injectée comme une requête indépendante et nous permet de contourner les restrictions du front-end.

Suppression de l’utilisateur carlos

Une fois l’accès au panneau d’administration confirmé, on injecte une requête similaire pour déclencher l’action :

Ce qui donne :

Mis à jour

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