Web Security Academy

Access control - Lab : User role can be modified in user profile

Objectif :

  • Accéder au panel administrateur pour ensuite supprimer l'utilisateur nommé "Carlos". Les identifiants d'un compte utilisateur sont donnés : wiener / peter. Un administrateur a un roleId égal à 2.

Solution :

On lance le lab et on se retrouve sur un site de commerce.

Pour commencer, on se logue avec les identifiants donnés dans l'énoncé. Puis on essaye par hasard d'accéder à l'URL /admin. Le serveur nous retourne un message nous informant que l'interface administrateur est seulement accessible par cette entité :

On retourne sur l'accueil et on accède à la page de configuration du compte sur lequel on est connecté. On constate que l'on peut changer l'adresse mail enregistrée :

On inscrit une nouvelle adresse mail et on appuie sur "Update email" tout en analysant la requête envoyée :

Le serveur nous retourne une donnée au format JSON avec un attribut intéressant se nommant roleid qui est égal à un :

On va maintenant ressayer de modifier l'adresse mail en ajoutant à la donnée JSON envoyée au serveur un attribut roleid égal à 2 :

On redirige la requête vers le serveur et un onglet permettant d'accéder au panel administrateur apparaît :

On a réussi à faire croire au serveur que l'on est l'administrateur.

Il suffit de supprimer le compte de Carlos en cliquant sur "Delete" :

Le lab est désormais validé.