Web Security Academy

Access control - Lab : User ID controlled by request parameter with data leakage in redirect

Objectif :

  • Obtenir la clef API d'un utilisateur se nommant Carlos

Solution :

En lançant le lab, on arrive sur un site de shopping.

Dans l'énoncé, les identifiants d'un compte client nous sont donnés ( nom de compte : wiener et mot de passe : peter ).

Une fois connecté avec ce compte sur le site, on peut accéder au panel de gestion du compte en cliquant sur My account.

Notre clef API est affichée :

Le but est de récupérer celle de l'utilisateur Carlos.

Si on regarde la requête envoyée au serveur permettant d'accéder au panel de gestion, on observe que c'est une requête GET avec comme paramètre id=wiener.

Ce qui nous laisse penser que le serveur reconnaît que l'on veut accéder au panel de gestion d'un compte en particulier en choisissant celui dont le nom est précisé dans le paramètre id.

Il suffit de changer la valeur du paramètre id par "carlos" et d'observer le requête retournée par le serveur. On obtient ainsi la clef API de l'utilisateur Carlos écrite en clair dans la réponse :

On soumet cette clef au lab et on le valide !