Contournement de la validation par état de connexion

Host validation bypass via connection state attack

Description de la vulnérabilité

Ce laboratoire présente une vulnérabilité de type SSRF basée sur le routage via l’en-tête Host, liée à une mauvaise gestion de l’état de la connexion côté serveur.

Bien que le serveur frontal semble valider correctement l’en-tête Host, il fait une hypothèse dangereuse :

toutes les requêtes envoyées sur une même connexion TCP sont considérées comme fiables si la première requête est valide.

Cela permet d’injecter une requête malveillante ultérieure sur la même connexion, en contournant la validation initiale.

Objectif du laboratoire

  • Accéder au panneau d’administration interne : http://192.168.0.1/admin

  • Supprimer l’utilisateur carlos

Observation initiale

Une requête directe vers l’IP interne est bloquée :

Le serveur rejette cette requête, ce qui confirme qu’une validation du Host est bien en place au niveau de la première requête.

Exploitation : attaque par état de connexion

L’idée est d’envoyer plusieurs requêtes sur la même connexion TCP :

  1. Une première requête légitime vers l’hôte public (acceptée).

  2. Une seconde requête malveillante vers l’IP interne, envoyée sur la même connexion.

Dans Burp Suite, cela se fait en :

  • Groupant les requêtes

  • Utilisant Send group in single connection

Accès au panneau d’administration

Une fois la connexion établie avec une requête valide, la requête suivante vers l’admin interne est acceptée :

Le panneau d’administration interne devient alors accessible.

Suppression de l’utilisateur

La suppression de l’utilisateur nécessite une requête POST :

Réponse du serveur :

Mis à jour