OWASP WebGoat:LAB DOM Based cross site scripting
LAB: DOM Based cross site scripting (XSS)
L'objectif de cet exercice est de démontrer la faiblesse de certaines applications qui ne "purifient" pas les données saisies dans les champs de formulaire. Il est possible d'y exploiter des failles dites de "Cross Site Scripting" (XSS).
Stage 1
Le but est ici d'exploiter le champ afin d'afficher une image à la place du nom qui s'affiche normalement en même temps que la saisie.
Pour ce faire, entrer dans le champ le code suivant :
<img src="images/logos/owasp.jpg" />
^ Fonctionnement normal | ^ Faille exploitée |
Stage 2
Il est ici demandé d'exploiter la balise <img> afin d'afficher une popup JavaScript.
Insérer le code suivant :
<img src="" onerror="alert('oops');" />
Stage 3
Il est demandé d'afficher une alerte JavaScript en exploitant la balise <iframe>. Insérer le code suivant :
<iframe style="width:0px;height:0px;" src="javascript:alert('You\'ve been hacked');"></iframe>
Le résultat est le suivant :
Stage 4
Le but de cet exercice est de démontrer comment utiliser le XSS pour proposer un faux formulaire d'authentification. Dans le présent exercice, nous nous contentons d'afficher le mot de passe saisi, mais nous pourrions imaginer que celui-ci soit transmis à un attaquant de manière transparente pour l'utilisateur.
Le code à saisir est le suivant :
<BR><input type = "password" name="pass"/><button onClick="javascript:alert('I have your password: ' + pass.value);">Submit</button><BR><BR><BR><BR><BR><BR><BR><BR>
Voici le résultat obtenu :