TP - Sécurité des applications WEB

Préparation

Bases du HTTP

Donnez la différence entre une requêtte GET et POST.

A1 - Injection

SQL Injection (intro)

Donnez pour chaque activité réalisée l'injection SQL utilisée. Expliquez

SQL Injection (advanced)

Trouvez le nombre de colonnes de la requête associée à la forme Get Account Info : toto' or '1'='1.

Cancatenez maintennant une requête UNION à toto' pour retrouver le mot de passe de Dave.

Lisez d'abord le cours 4, puis réalisez l'activité 5.

- Dans l'onglet "REGISTER", essayez les motifs suivants:
            
    - tom' and '1'='1
    - tom' and '1'='2
    - tom' and '1'='1'--
    - tom' and '1'='2'--            
            

Y a-t-il des massages d'erreurs SQL ou c'est des messages personnalisés ?

Quel message correspond à vrai et a faux ?

Sachant que la colonne du mot de passe s'appelle password, utilisez la fonction SUBSTRING pour récupérer le premier caractère du mot de passe de tom.

Automarisez la recherche des autres caractères du mot de passe en utilisant l'outil Générer du Bruit du proxy ZAP.

A7 - Cross Site Scripting (XSS)

Quels sont les types des requêtes http de la forme ?

Déterminez les inputs vulnérables.

Testez la faille avec <script>alert('my javascript here')</script>.

Comment s'appelle cette vulnérabliité ?

Donnez un scénation possible d'attaque avec cette faille.

A l'aide de cette attaque, récupérez le cookie en cours.

Est-ce-que quelque chose (votre input) est envoyé au serveur, lorsqu'on utilise la route test avec un paramètre ?

Quelle est la différence entre DOM-based XSS et celle vue précédement (cf. 0x02 et 0x03) ?

Exploitez l'URL vulnéarable avec l'XSS suivante: <script>webgoat.customjs.phoneHome();</script>. Le code HTML du caractère "/" est %2F.

Retrouvez la chaîne aléatoire nécessaire à la validation de l'activité.

A2 - Broken Authentication

Authentication Bypasses

En utilisant votre proxy zap, insipirez-vous de cette attaque: https://henryhoggard.co.uk/blog/Paypal-2FA-Bypass pour résoudre ce challange.

JWT tokens

Bonus

Mitigation

SQL Injection (mitigation)

Suivez les cours et faites un rapport sur les différentes solutions de défense possibles contre les attaques de type SQL Injection

Liens utiles: