Résumé exécutif

Les applications web volontairement vulnérables sont les outils d'entraînement fondamentaux pour développer des compétences en sécurité web offensive. Trois projets OWASP dominent le marché avec des positionnements complémentaires : DVWA (Damn Vulnerable Web Application) en PHP pour les débutants avec ses vulnérabilités classiques et ses quatre niveaux de difficulté progressifs, Juice Shop en JavaScript et Node.js reproduisant une application e-commerce moderne avec plus de cent challenges couvrant l'intégralité de l'OWASP Top 10, et WebGoat en Java avec son approche pédagogique unique combinant leçons théoriques et exercices pratiques dans une interface guidée. Ce comparatif analyse chaque application selon six critères : réalisme des vulnérabilités, couverture de l'OWASP Top 10, facilité de déploiement avec Docker, qualité de la documentation et des hints intégrés, progression pédagogique et pertinence pour la préparation aux certifications de sécurité web offensive. L'objectif est de recommander le lab optimal selon le niveau de l'apprenant et son parcours professionnel visé.

La pratique sur des applications volontairement vulnérables en environnement contrôlé est la seule méthode légale et éthique pour développer des compétences en sécurité web offensive. Les trois applications présentées sont des projets OWASP officiels maintenus par des communautés actives, régulièrement mis à jour pour refléter les vulnérabilités actuelles rencontrées dans les audits de sécurité web professionnels. Leur complémentarité permet de construire un parcours d'entraînement progressif : DVWA pour comprendre les mécanismes fondamentaux des vulnérabilités web, Juice Shop pour pratiquer sur une architecture moderne réaliste, et WebGoat pour approfondir la compréhension théorique avec des leçons structurées. L'intégration de ces labs dans un environnement pentest Proxmox permet de les combiner avec d'autres machines vulnérables pour des scénarios plus complexes. Les vulnérabilités OWASP Top 10 sont la référence de classification des failles que ces labs permettent de pratiquer. Le comparatif des plateformes CTF positionne ces labs locaux par rapport aux plateformes en ligne comme Hack The Box et TryHackMe. Les techniques de fuzzing API avec Burp et Nuclei sont directement applicables sur l'API de Juice Shop. La documentation officielle Juice Shop et le projet WebGoat OWASP fournissent les guides de déploiement et les curriculums de formation détaillés pour les formateurs et les apprenants.

  • DVWA est le lab le plus adapté aux débutants absolus avec 4 niveaux de difficulté
  • Juice Shop reproduit une application e-commerce moderne avec 100+ challenges OWASP
  • WebGoat offre des leçons structurées step-by-step avec théorie intégrée
  • Les trois se déploient en une commande Docker pour une mise en route immédiate
  • La combinaison des trois couvre l'intégralité des vulnérabilités web du débutant à l'expert

DVWA : les fondamentaux des vulnérabilités web

DVWA (Damn Vulnerable Web Application) est l'application web vulnérable la plus utilisée dans le monde de la formation en cybersécurité. Développée en PHP/MySQL, elle présente 14 modules couvrant les vulnérabilités web classiques : injection SQL, XSS (réfléchi, stocké, DOM), injection de commandes, upload de fichiers, CSRF, inclusion de fichiers (LFI/RFI), et brute force d'authentification. Chaque module propose quatre niveaux de difficulté (Low, Medium, High, Impossible) avec le code source accessible pour comprendre les différences de protection entre chaque niveau.

Le déploiement Docker de DVWA s'effectue en une commande : docker run -d -p 8080:80 vulnerables/web-dvwa. L'interface web est accessible sur le port 8080 avec les credentials admin/password. La force de DVWA est sa simplicité : chaque module isole une vulnérabilité spécifique dans un formulaire dédié, permettant à l'apprenant de se concentrer sur la technique d'exploitation sans être distrait par la complexité de l'application. La progression du niveau Low (aucune protection) au niveau Impossible (protection complète) illustre concrètement les bonnes pratiques de développement sécurisé avec le code source comparatif disponible pour chaque niveau.

Juice Shop : l'application moderne réaliste

OWASP Juice Shop est une application e-commerce complète développée en Angular/Node.js/SQLite qui reproduit une boutique en ligne avec authentification, panier, paiement, évaluations et API REST. Les 100+ challenges sont intégrés dans l'application elle-même et couvrent l'intégralité de l'OWASP Top 10 avec des vulnérabilités réalistes : injection SQL dans la barre de recherche, XSS dans les évaluations produit, IDOR sur les commandes des autres utilisateurs, SSRF via le service de feedback, broken authentication avec JWT forgé, et exposition de données sensibles via l'API.

Le système de scoring gamifié avec un tableau de challenges classés par difficulté (1 à 6 étoiles) et par catégorie OWASP motive la progression. Les hints progressifs guident l'apprenant sans donner la solution directement. Le déploiement Docker (docker run -d -p 3000:3000 bkimminich/juice-shop) est aussi simple que DVWA. La modernité de l'architecture (SPA Angular, API REST, JWT) fait de Juice Shop le lab le plus pertinent pour l'entraînement aux audits d'applications web modernes que les pentesters rencontrent quotidiennement en engagement client.

WebGoat : la formation pédagogique structurée

WebGoat se différencie par son approche pédagogique unique combinant des leçons théoriques et des exercices pratiques dans une interface guidée. Chaque module commence par une explication de la vulnérabilité (mécanisme, impact, code vulnérable), suivie d'exercices progressifs avec validation automatique de la réponse. Cette approche « cours intégré » est idéale pour les formateurs qui peuvent utiliser WebGoat comme support de cours avec une progression structurée et des points de validation à chaque étape de l'apprentissage.

Le module WebWolf complète WebGoat en fournissant un serveur attaquant pour recevoir les callbacks (XSS, SSRF), simulant un environnement d'attaque réaliste. Le déploiement Docker (docker run -d -p 8080:8080 -p 9090:9090 webgoat/webgoat) lance WebGoat et WebWolf simultanément. WebGoat est développé en Java/Spring, ce qui le rend pertinent pour les développeurs Java souhaitant comprendre les vulnérabilités spécifiques à leur écosystème, mais moins représentatif des applications web modernes en JavaScript.

CritèreDVWAJuice ShopWebGoat
Stack techniquePHP / MySQLAngular / Node.jsJava / Spring
Nombre de vulnérabilités14 modules100+ challenges30+ leçons
Niveau cibleDébutantDébutant à avancéDébutant à intermédiaire
Approche pédagogiquePratique libreGamifiée (scoring)Cours + exercices
RéalismeFaible (isolé)Élevé (app complète)Moyen (guidé)
Docker1 commande1 commande1 commande

En tant que formateur en sécurité web, j'utilise les trois applications dans un parcours de formation de 5 jours : jours 1-2 sur DVWA pour les fondamentaux (injection SQL, XSS, command injection avec progression de difficulté), jours 3-4 sur Juice Shop pour la pratique réaliste (challenges en autonomie avec debriefing collectif), et jour 5 sur WebGoat pour les leçons approfondies sur les vulnérabilités avancées (JWT, OAuth, serialization). Cette combinaison couvre l'intégralité de l'OWASP Top 10 avec une progression pédagogique naturelle du simple au complexe.

Mon avis : Juice Shop est le lab web vulnérable le plus complet et le plus réaliste en 2026. Son architecture moderne en JavaScript/Node.js reflète les applications web actuelles que les pentesters auditeront. Mais DVWA reste indispensable pour les débutants absolus qui ont besoin d'isoler chaque vulnérabilité dans un contexte simplifié avant d'affronter la complexité d'une application réelle.

Quel lab web vulnérable choisir pour débuter ?

DVWA pour les débutants absolus avec ses 4 niveaux de difficulté progressifs et ses modules isolés. Juice Shop pour ceux qui ont des bases en développement web et souhaitent pratiquer sur une application moderne réaliste.

Juice Shop est-il plus réaliste que DVWA ?

Oui. Juice Shop reproduit une application e-commerce complète en JavaScript/Node.js avec des vulnérabilités intégrées dans le flux applicatif normal. DVWA isole volontairement chaque vulnérabilité pour la pédagogie.

Comment déployer les trois labs simultanément ?

Utilisez Docker Compose avec un fichier définissant les trois conteneurs sur des ports différents : DVWA sur 8080, Juice Shop sur 3000 et WebGoat sur 8180. La commande docker-compose up démarre tout en 30 secondes.

Conclusion

DVWA, Juice Shop et WebGoat sont trois labs complémentaires couvrant l'intégralité des vulnérabilités web de l'OWASP Top 10. Le parcours optimal combine DVWA pour les fondamentaux, Juice Shop pour le réalisme et WebGoat pour la formation structurée. Les trois se déploient en une commande Docker et constituent ensemble la meilleure ressource gratuite pour l'entraînement en sécurité web offensive.

Déployez les trois labs avec Docker dès maintenant et commencez par les modules d'injection SQL de DVWA en niveau Low. La progression naturelle vers Juice Shop puis WebGoat vous donnera les compétences nécessaires pour auditer des applications web réelles et préparer les certifications de sécurité offensive.