Contournement d’authentification via l’en-tête Host

Host header authentication bypass

Description du laboratoire

Ce laboratoire repose sur une mauvaise hypothèse côté serveur : le niveau de privilège de l’utilisateur est déterminé en fonction de la valeur de l’en-tête HTTP Host. En manipulant cet en-tête, il est possible d’accéder à des fonctionnalités réservées à l’administrateur.

Objectif : Accéder au panneau d’administration et supprimer l’utilisateur carlos.

Comportement initial observé

Lorsque l’on tente d’accéder à la page d’administration avec une requête standard, l’accès est refusé.

Requête classique :

Réponse : accès non autorisé

Analyse de la vulnérabilité

L’application semble accorder des privilèges élevés lorsque la requête provient d’un hôte considéré comme « interne » ou de confiance, par exemple localhost. Aucune vérification supplémentaire n’est effectuée pour confirmer l’origine réelle de la requête.

Exploitation

Il suffit de modifier manuellement la valeur de l’en-tête Host dans la requête HTTP.

Requête modifiée :

Résultat : accès autorisé au panneau d’administration

Action finale

Une fois l’accès administrateur obtenu, il est possible de supprimer l’utilisateur cible :

Mis à jour