Contrôle d’accès basé sur l’en-tête Referer

Referer-based access control

Ce laboratoire applique un contrôle d’accès aux fonctionnalités d’administration en se basant sur l’en-tête Referer. On peut d’abord explorer le panneau d’administration en se connectant avec les identifiants administrator:admin.

Pour résoudre le lab, il faut se connecter avec l’utilisateur wiener:peter et exploiter la mauvaise validation du Referer pour obtenir un rôle administrateur.

1. Contexte

  • Cookie de session de wiener

  • Lorsqu’on tente de modifier les rôles sans en-tête supplémentaire, l’application refuse l’accès :

La réponse indique que l’utilisateur n’a pas les droits nécessaires.

2. Contournement du contrôle Referer

Si l’on ajoute un en-tête Referer pointant vers une page admin légitime, l’application accepte l’opération

Avec cet en-tête ajouté, la promotion de wiener devient possible et l’accès administrateur est obtenu.

Mis à jour