Aller au contenu principal

Semaine 7 — Vulnérabilités web (OWASP Top 10)

Objectifs pédagogiques

  • Comprendre la logique de chaque catégorie du Top 10, pas la mémoriser.
  • Utiliser Burp Suite en interception et en repeater efficacement.
  • Écrire une preuve d'exploitation propre : requête, réponse, impact.

Les catégories 2021 en une phrase chacune

CatégorieIdée centrale
A01 – Contrôles d'accès rompusL'application autorise ce qu'elle devrait interdire.
A02 – Défaillances cryptographiquesDonnées sensibles mal chiffrées ou en clair.
A03 – InjectionDes données utilisateur exécutées comme du code (SQL, LDAP, OS).
A04 – Design non sécuriséDéfaut de conception, pas de code.
A05 – Mauvaise configurationValeurs par défaut, verbosité, en-têtes manquants.
A06 – Composants vulnérablesDépendances non mises à jour.
A07 – Identification / authSessions faibles, mots de passe faibles, MFA absente.
A08 – Intégrité logicielleChaîne d'approvisionnement compromise.
A09 – Journalisation insuffisanteOn ne voit rien passer.
A10 – SSRFLe serveur se laisse guider vers l'interne.

Burp Suite en pratique

  1. Configurer Firefox pour utiliser Burp comme proxy (127.0.0.1:8080), installer le certificat de Burp.
  2. Proxy → Intercept : capturer une requête intéressante (soumission de formulaire, appel API).
  3. Repeater : envoyer et rejouer la requête, faire varier un paramètre à la fois.
  4. Intruder : payloads paramétrés. Un seul point d'insertion à la fois pour rester lisible.

Deux exemples à maîtriser

Injection SQL — Vérifier vraiment

Ne pas se contenter d'un ' OR 1=1 -- qui « affiche plus de lignes ». Confirmer par une extraction contrôlée :

GET /produits?id=42 UNION SELECT null, current_database(), null --

La réponse doit contenir un nom de base cohérent. Sans cette preuve, ce n'est qu'une hypothèse.

XSS stockée — Impact concret

Un <script>alert(1)</script> prouve le stockage, pas l'impact. La démonstration attendue en rapport : un vol de session vers un endpoint contrôlé, ou une action forcée via fetch('/api/user/delete', {method:'POST', credentials:'include'}).

Début du TP2

Vous choisissez une application vulnérable du laboratoire (Juice Shop, DVWA ou équivalent). Livrable pour la semaine 9 :

  • Trois vulnérabilités du Top 10 exploitées, chacune avec requête, réponse, impact.
  • Une remédiation concrète par vulnérabilité.