Sites web vulnérables pour les tests: 12 cibles de pratique légale
Les applications délibérément vulnérables vous permettent de vous exercer légalement aux tests de sécurité Web, car leurs propriétaires les ont publiées précisément dans ce but. Les plus utilisées sont OWASP Juice Shop, DVWA, WebGoat, bWAPP, Metasploitable et la Web Security Academy de PortSwigger, tandis que Hack The Box, TryHackMe, VulnHub, HackThisSite, Google Gruyère et PentesterLab couvrent le reste de la gamme. Analyser ou attaquer tout autre site sans autorisation écrite constitue une infraction pénale dans la plupart des juridictions, quelle que soit l'intention.
Pour apprendre à détecter les vulnérabilités, il faut des applications qui en présentent, et s'entraîner sur de vrais sites web est illégal dans la plupart des pays en vertu de la législation sur l'abus informatique, quelle que soit la motivation. Ce n'est pas une zone grise: il existe un ensemble bien établi d'applications conçues volontairement vulnérables et publiées avec l'autorisation explicite de les attaquer.
Cette liste en recense douze, regroupées selon leur objectif. La plupart s'exécutent localement dans Docker en environ une minute. Plusieurs sont des plateformes hébergées avec leurs propres règles, qu'il vaut mieux lire avant de commencer.
Avant de commencer: la limite légale
La règle est simple et mérite d’être énoncée clairement. Vous pouvez tester les systèmes que vous possédez, ceux pour lesquels vous disposez d’une autorisation écrite à les tester, et ceux dont le propriétaire a publié une invitation explicite à les tester, ce que chaque application de cette liste a fait.
Tout le reste constitue un accès non autorisé. Au Royaume-Uni, c’est le Computer Misuse Act ; aux États-Unis, le Computer Fraud and Abuse Act ; la plupart des autres juridictions ont un équivalent. Les bonnes intentions, l’absence de préjudice et l’envoi ultérieur d’un e-mail de divulgation responsable ne sont pas des défenses. Des personnes ont été poursuivies pour scan.
Un bug bounty constitue une autorisation, mais uniquement dans le cadre de son périmètre publié. Lisez le périmètre et respectez-le.
Self-hosted applications
Ils s'exécutent sur votre propre machine, généralement dans Docker. Rien ne quitte votre réseau, vous pouvez donc être aussi agressif que vous le voulez.
OWASP Juice Shop
Une application monopage moderne en JavaScript proposant bien plus d’une centaine de défis, allant de l’anodin au véritablement difficile. C’est le meilleur point de départ pour la plupart, car elle imite l’apparence et le comportement d’une application développée au cours de cette décennie, plutôt que d’un exercice pédagogique, et couvre l’intégralité du OWASP Top 10, ainsi que les problèmes de cryptographie, l’XXE et le contrôle d’accès défaillant. La progression est suivie sur un tableau des scores intégré.
DVWA (Damn Vulnerable Web Application)
Une application PHP et MySQL avec des niveaux de difficulté ajustables, ce qui constitue son principal atout: vous pouvez observer la même vulnérabilité avec des paramètres de sécurité faibles, moyens, élevés et impossibles, et consulter le code source de chacun. Excellent pour comprendre pourquoi un correctif fonctionne, plutôt que de simplement constater qu'il fonctionne. Couvre l'injection SQL, l'injection de commandes, l'upload de fichiers, le CSRF et le XSS.
WebGoat
L’application pédagogique OWASP, structurée en leçons guidées avec explications plutôt qu’en défis ouverts. Basée sur Java. C’est le bon choix si vous préférez apprendre plutôt qu’être évalué, et le format des leçons en fait un choix courant pour l’intégration des développeurs.
bWAPP
Plus d’une centaine de vulnérabilités dans une application PHP volontairement étendue, incluant des classes que les projets plus aboutis omettent. D’apparence désuète, mais reste l’un des ensembles de couverture les plus étendus disponibles.
Metasploitable
Une machine virtuelle Linux entièrement vulnérable plutôt qu'une simple application web, utile lorsque l'objectif est l'exploitation de réseaux et de services plutôt que le test web. S'intègre naturellement à Metasploit.
OWASP Mutillidae II
Une autre application PHP très complète, avec des indices et plusieurs niveaux de difficulté, souvent utilisée en formation car elle correspond parfaitement au Top 10 de l’OWASP.
Labs hébergés et plateformes
Ces plateformes sont exploitées par des tiers. Consultez les conditions, car certaines limitent l'utilisation d'outils ou l'automatisation.
PortSwigger Web Security Academy
Gratuit, complet et probablement la formation en sécurité web la mieux structurée qui soit. Rédigée par l’équipe à l’origine de Burp Suite, elle associe des supports écrits à des exercices pratiques interactifs couvrant tout, de l’injection SQL de base au smuggling HTTP et à la pollution des prototypes côté serveur. Si vous ne devez utiliser qu’une seule ressource de cette liste, choisissez celle-ci.
Hack The Box
Une plateforme par abonnement proposant des machines retirées et actives, ainsi que des défis axés sur le Web. Les solutions de la communauté pour les machines retirées en font un solide parcours d'autoformation, et elle est largement utilisée comme préparation à l'OSCP.
TryHackMe
Plus guidé que Hack The Box, avec des parcours d’apprentissage structurés et une prise en main plus douce. Le meilleur choix pour quelqu’un qui n’a jamais fait ça avant.
VulnHub
Une bibliothèque gratuite de machines virtuelles vulnérables téléchargeables, contributées par la communauté, chacune s'accompagnant généralement d'une analyse disponible. Une variété immense, une qualité variable, entièrement gratuite.
Google Gruyere
Une petite application web vulnérable publiée par Google, accompagnée d'un codelab. Court et ciblé, idéal pour une première heure.
HackThisSite / PentesterLab
HackThisSite est un site de défis gratuit, actif depuis longtemps, couvrant les bases du web et bien plus encore. PentesterLab propose des exercices structurés mettant l’accent sur la lecture et la compréhension du code source vulnérable.
Par quoi commencer?
| Si vous êtes | Commencez par | Pourquoi |
|---|---|---|
| Grand débutant en sécurité web | PortSwigger Web Security Academy | Structuré, gratuit, explique la théorie avant le labo |
| Un développeur qui souhaite comprendre les correctifs | DVWA | Code source visible à quatre niveaux de difficulté |
| À l'aise et souhaitant une cible réaliste | OWASP Juice Shop | SPA moderne, plus d’une centaine de défis, sans assistance |
| Préparation OSCP | Hack The Box et VulnHub | Des machines complètes, pas seulement des applications web |
| Enseignement | WebGoat ou Mutillidae II | Format de leçon, indices, correspondance Top 10 |
| S'entraîner à l'exploitation réseau | Metasploitable | Un hôte vulnérable entier plutôt qu'une seule application |
S'entraîner avec des outils
Une application vulnérable est aussi le bon endroit pour apprendre ce que vos outils font réellement et ce qu’ils manquent. Lancer un scanner contre Juice Shop puis y travailler manuellement est le moyen le plus rapide de comprendre l’écart entre les tests automatisés et manuels, qui est généralement plus grand que les gens ne le pensent.
Notre comparatif des scanners de vulnérabilité en ligne gratuits couvre les options hébergées et open source, et les outils de test d'intrusion open source couvrent une gamme plus large de la chaîne d'outils.
Une mise en garde importante: les scanners hébergés sont destinés aux cibles que vous contrôlez. Ne dirigez pas un scanner en ligne vers une plateforme de laboratoire hébergée que vous ne possédez pas, car cela enfreint les conditions d’utilisation de la plupart des plateformes et constitue exactement le comportement visé par l’avertissement d’ouverture de cette page.
Des tests à la production
Les applications de pratique sont conçues pour que l’on puisse y trouver des vulnérabilités. Ce n’est pas le cas des applications réelles. Une application en production comporte une authentification, une logique métier qui a mis trois ans à se mettre en place et des règles de contrôle d’accès que personne n’a couchées sur le papier ; c’est pourquoi les tests réels nécessitent à la fois de l’automatisation et des personnes.
ImmuniWeb® Neuron gère le scan automatisé de la sécurité web et des API avec un SLA à zéro faux positifs. ImmuniWeb® On-Demand ajoute des tests de pénétration manuels accrédités par le CREST pour les classes de vulnérabilités logiques et de contrôle d’accès que les scanners ne détectent pas. Et si vous souhaitez simplement vérifier l’état actuel de votre propre site, le test gratuit Website Security prend moins d’une minute.