Vous êtes sur la page 1sur 7

A3 Secure data explosure 

Insecure Login
Dans ce défi, nous avons un formulaire de connexion qui n’utilise pas HTTPS. Notre objectif est de
saisir les références de notre victime.
On va renifler l’exposition des informations d’identification à l’aide de Burp sur le trafic HTTP
Enfin, comme on peut le voir sur la capture d’écran ci-dessus, les informations d’identification d’un
utilisateur ont été exposé notamment celui de CaptainJack avec le mot de passe BlackPearl.

Solution pour éviter l’exposition de données sensibles 

Utiliser HTTPS. En effet, si la page avait utilisé HTTPS, nous n’aurions pas accès à des informations
d’identification en texte brut, mais plutôt à du trafic chiffré que nous ne saurions pas déchiffrer.
A5 Broken access control 
Insecure Direct Object References
Cette vulnérabilité se produit lorsque l’application ne valide pas correctement l’accès aux ressources
via des ID. Par exemple, une application affiche un bon de commande au client à l’aide du point de
terminaison. Cependant, l’utilisateur dont l’ID de commande est peut également accéder à d’autres
commandes en modifiant simplement l’ID de commande.

2. d’abord on s’authentifie avec les identifiants fournis (tom/cat)

3. dans cette tâche, il est question de découvrir les attributs du message de réponse qui ne sont pas
affichés sur la page Web. On appuie sur Afficher le profil pour comparer le contenu affiché sur la
page Web avec le message de réponse capturé par burpsuite.

On voit que les attributs rôle et userid ne figure pas dans la liste affichée sur le navigateur.
4. Cette section nécessite une référence directe à l'objet pour afficher le profil. Dans la dernière
capture de burpsuite, le chemin du profil est /WebGoat/IDOR/profile, et l'ID utilisateur est 2342384

On a essayé WebGoat/IDOR/profile?userId=2342384 et WebGoat/IDOR/profile/2342384 et j'ai


trouvé que la réponse est : WebGoat/IDOR/profil/2342384

5. Il y a deux tâches sur cette section :

 Regardez le profil des autres utilisateurs


 Modifier le profil des autres utilisateurs (Buffalo Bill)

Pour la première tâche en regardant les profils des autres utilisateurs : on clique sur le premier
bouton Afficher le profil, burpsuite capture le paquet:
Qu’on envoie à intruder ; puisqu’on sait qu’après profile on a le userid le payload sera donc à cette
position :

Et comme le userid est un nombre, le payload est définie comme indiqué dans la figure ci-dessous et
le type est Numbers ; étant donné que le propre userId de Tom est 2342384, on peut avoir un autre
utilisateur non loin. On a d’abord régler la plage sur 2342380 à avec un pas de 1 qu’on peut élargir si
on ne trouve rien:

Puis on lance l’attaque et on trouve l’id 2342388 avec le profile que nous cherchons :
Pour la deuxième tâche, on envoie le message de demande correspondant dans la figure ci-dessus au
répéteur. On modifie 3 places :

(1) La méthode de requête est modifiée de GET à PUT puisqu’on veut modifier

(2) Remplacer conten-type par application/json (sinon erreur Type de support non pris en charge)

(3) Dans le contenu de la requête, on modifie le profil Buffalo Bill selon les exigences du titre, le rôle
doit être défini sur un nombre inférieur à 3 (on met 2 par exemple) et la couleur doit être définie sur
red.
Missing Function Level Access Control

La leçon consiste à trouver des fonctionnalités qui sont en quelque sorte indisponibles / commentées
/ cachées au moyen de HTML / CSS / JS. On va donc utiliser les outils de développement.

 La première chose cachée est le sous-menu pour Messages (Unread Messages et Compose Message)
par un style css display: none ;

Juste après Messages il y a un menu Admin avec les entrées de sous-menu Utilisateurs et Config,
ceux-ci sont également masqués par un style css display: none.
Après quelques modifications css, il est possible de voir le menu Admin et ses sous-menus qui
constituent la réponse à la tache. Nous savons donc qu’il y a deux points de terminaison qui sont
censés être cachés à un utilisateur non-administrateur

Solution pour éviter le contrôle d’accès brisé

 Vérifier l’accès aux ressources à l’aide d’ID doit toujours implémenter une étape de
vérification pour s’assurer que l’utilisateur dispose de l’autorisation appropriée.
 Refuser l’accès aux ressources par défaut, sauf si l’on souhaite les rendre publiques.
 Protéger tous les points de terminaison.

Vous aimerez peut-être aussi