Processus multi-étapes sans contrôle d’accès

Multi-step process with no access control on one step

Le laboratoire propose un panneau d’administration doté d’un processus en plusieurs étapes pour modifier le rôle d’un utilisateur. Ce flux contient une faille : une des étapes n’aplica aucun contrôle d’accès. Pour t’entraîner, il est possible d’examiner d’abord le panneau admin avec les identifiants administrator:admin. Pour résoudre le labo, il faut se connecter avec wiener:peter et exploiter l’étape vulnérable afin d’élever son propre rôle au niveau administrateur.

Analyse du processus

Le changement de rôle s’effectue en deux requêtes distinctes :

Première étape : demande de mise à niveau

Avec la session de wiener, cette requête est refusée : Le serveur indique que l’utilisateur n’est pas autorisé.

Deuxième étape : confirmation de l’action

Cette seconde étape ne comporte aucun contrôle d’accès. En envoyant cette requête avec la cookie de session de wiener :

Le serveur répond OK, même si wiener ne devrait pas avoir les droits nécessaires

Mis à jour