Skip to content

TP Sécurité : la série OWASP

Sommaire

Le meilleur moyen de comprendre la sécurisation d'une application Web, ce n'est ni la théorie seule, ni de tenter des intrusions au hasard : c'est de se mettre dans la peau du développeur qui reçoit un rapport d'audit et doit réparer son code.

Cette série de quatre TP suit les grandes catégories de failles de l'OWASP, celles que vous devez savoir reconnaître et corriger pour l'examen. Le format est toujours le même, dans l'esprit d'une préparation à l'épreuve : observer du code, le tester, comprendre pourquoi il est vulnérable, puis le corriger.

Les quatre TP

La difficulté augmente d'un TP à l'autre. Suivez-les dans l'ordre : chacun s'appuie sur le précédent.

  1. Les injections SQL : la faille la plus emblématique, très guidée pour bien démarrer.
  2. Les failles XSS : quand le navigateur exécute la saisie de l'utilisateur (réfléchi et stocké).
  3. Contrôle d'accès et journalisation : IDOR, routes non protégées, lecture des logs (code Laravel).
  4. Authentification et sessions : mots de passe, bruteforce, CSRF, 2FA. Le plus complet, solutions détaillées.

Pour réviser et aller plus loin

Le cours et la synthèse

Avant ou pendant les TP, gardez sous la main :

Pour s'entraîner en autonomie

Deux plateformes interactives complètent parfaitement ces TP, si vous voulez manipuler davantage :

  • Hacksplaining : des tutoriels guidés faille par faille (injection SQL, XSS stockée…).
  • WebGoat : l'application d'entraînement de l'OWASP, à lancer en local.
Lancer WebGoat en local (Docker)

WebGoat est une application volontairement vulnérable, éditée par l'OWASP à des fins pédagogiques.

sh
docker run -p 127.0.0.1:8080:8080 -p 127.0.0.1:9090:9090 -e TZ=Europe/Amsterdam webgoat/webgoat

Puis rendez-vous sur http://127.0.0.1:8080/WebGoat.

⚠️ Vous manipulez un outil truffé de failles : pour éviter tout risque, le mieux est de couper l'accès réseau de votre machine pendant l'exercice.

Quelques leçons intéressantes pour commencer : Injection Flaws (SQL Injection), Cross-Site Scripting, Parameter Tampering, AJAX Security.

Un rappel important

Ces TP sont à but éducatif. On ne teste ces techniques que sur des applications prévues pour (WebGoat, Hacksplaining, les extraits fournis) ou que l'on possède. Tester une faille sur un site sans autorisation explicite est illégal.

×

Reformulation

La reformulation (IA) peut faire des erreurs. Envisagez de vérifier les informations.