Développement web, sécurité et IA

Théme de la semaine : Dark web

Découvrez chaque module DVWA et l’ordre pour les apprendre

Temps de lecture estimé : 7 minutes
Accueil CyberSécurité Découvrez chaque module DVWA et l’ordre pour les apprendre

Lorsque vous lancez DVWA pour la première fois, la liste des modules peut sembler impressionnante. Pourtant, chacun d’eux a un objectif bien précis : vous apprendre à reconnaître, comprendre et exploiter une vulnérabilité web dans un environnement sécurisé. Savoir à quoi correspond chaque module DVWA est la première étape pour progresser efficacement en cybersécurité.

Dans ce tutoriel, vous allez découvrir le rôle de chaque module, les notions de sécurité qu’il permet d’aborder et l’ordre idéal pour les étudier lorsque l’on débute. À la fin de votre lecture, vous saurez exactement par où commencer et comment construire un parcours d’apprentissage logique sans vous éparpiller.

  • Comprendre à quoi sert chaque module DVWA pour apprendre les principales vulnérabilités web sans se sentir perdu.
  • Identifier un ordre de progression logique afin d’acquérir des bases solides avant d’aborder les techniques les plus avancées.
  • Mieux comprendre les mécanismes des attaques les plus courantes pour développer de bons réflexes en cybersécurité et en développement web.

Si vous ouvrez DVWA pour la première fois, la liste des modules peut sembler impressionnante. Pourtant, chacun d’eux a un objectif bien précis : vous apprendre une famille de vulnérabilités utilisée dans les applications web.

👉 Pour ceux qui débutent : DVWA Installation et paramètres.

Pourquoi DVWA est découpé en modules ?

Chaque module DVWA est consacré à une vulnérabilité particulière. Plutôt que de mélanger plusieurs notions, DVWA vous permet d’étudier un problème de sécurité à la fois.

L’idée est simple : comprendre le fonctionnement d’une faille, apprendre à l’exploiter dans un environnement de laboratoire, puis découvrir comment les développeurs peuvent la corriger.

Vous n’avez donc pas besoin de tout maîtriser immédiatement. Au contraire, il est préférable d’avancer progressivement.

👉 Bien utiliser DVWA + Exercices

Les différents modules DVWA

Brute Force

Ce module vous montre comment un pirate tente de deviner un mot de passe en essayant automatiquement des centaines, voire des milliers de combinaisons.

Module DVWA par force brute

Par exemple, un script peut tester :

admin / admin
admin / password
admin / 123456
admin / azerty

Vous comprendrez rapidement pourquoi les mots de passe simples sont dangereux.

Vous découvrirez également des protections comme :

  • la limitation du nombre de tentatives
  • les délais entre deux essais
  • l’authentification à plusieurs facteurs (MFA)

👉 Tutoriel associé : Hydra : Craquer un mot de passe par force brut

Command Injection

Ici, vous apprendrez ce qu’il se passe lorsqu’un programme exécute directement une commande système provenant d’un utilisateur.

Module DVWA d'injection de commandes

Imaginons qu’une application demande une adresse IP :

127.0.0.1

Si l’application est mal protégée, un attaquant pourrait essayer :

127.0.0.1 && whoami

La commande supplémentaire pourrait alors être exécutée sur le serveur.

Ce module permet de comprendre pourquoi les développeurs doivent toujours filtrer les données reçues.

👉 Tutoriel associé : Faille RCE : Détection, exploitation et correction.

CSRF

CSRF signifie Cross-Site Request Forgery.

Module DVWA sur la faille CSRF

Le principe est simple : un utilisateur connecté à un site est incité à cliquer sur un lien ou visiter une page qui effectue une action à son insu.

Imaginez que vous soyez connecté à votre espace administrateur. En ouvrant une page piégée, celle-ci pourrait modifier votre mot de passe sans que vous vous en rendiez compte.

Vous découvrirez notamment le rôle des jetons CSRF, de petits codes uniques qui empêchent ce type d’attaque.

Tutoriel associé : Protection clickjacking et CSRF

File Inclusion

Ce module explique comment une application peut charger un fichier qui n’était pas prévu.

Par exemple, une URL pourrait contenir :

?page=contact.php

Si le programme n’effectue aucun contrôle, un attaquant pourrait tenter :

?page=../../etc/passwd

L’objectif est de comprendre les attaques LFI (Local File Inclusion) et RFI (Remote File Inclusion).

File Upload

De nombreuses applications permettent d’envoyer des fichiers.

Module File upload de DVWA

Mais que se passe-t-il si un pirate envoie un script PHP au lieu d’une simple image ?

Ce module montre pourquoi il faut toujours vérifier :

  • le type du fichier
  • son extension
  • son contenu réel
  • son emplacement de stockage

👉 Tutoriel complémentaire : Upload de fichier sécurisé en PHP

Insecure CAPTCHA

Le CAPTCHA sert normalement à distinguer un humain d’un robot.

Dans ce module, vous découvrirez que certains CAPTCHA sont mal implémentés et peuvent être contournés.

Vous comprendrez qu’un CAPTCHA seul ne constitue jamais une protection suffisante.

👉 Tutoriel complémentaire : L’anti-spam reCAPTCHA Google

SQL Injection

C’est probablement le module le plus célèbre de DVWA.

Il montre comment une requête SQL peut être modifiée lorsqu’une application insère directement les données saisies par l’utilisateur.

Exemple simplifié :

SELECT * FROM users
WHERE id='1';

Un attaquant pourrait essayer :

1' OR '1'='1

La requête devient alors :

SELECT * FROM users
WHERE id='1' OR '1'='1';

Comme la condition est toujours vraie, la base de données peut retourner tous les utilisateurs.

Vous comprendrez aussi pourquoi les requêtes préparées permettent d’éviter cette faille.

👉 Tutoriels associés :

SQL Injection (Blind)

Ici, l’application n’affiche plus directement les résultats.

Le pirate doit donc déduire les informations en observant le comportement du serveur.

Par exemple :

  • une page qui répond différemment
  • un délai inhabituel
  • un message d’erreur discret

Cette méthode est plus lente, mais reste très utilisée contre les sites mal protégés.

Weak Session IDs

Après une connexion, un site attribue généralement un identifiant de session.

Formation web et informatique - Alban Guillier - Formateur

Des formations informatique pour tous !

Débutant ou curieux ? Apprenez le développement web, le référencement, le webmarketing, la bureautique, à maîtriser vos appareils Apple et bien plus encore…

Formateur indépendant, professionnel du web depuis 2006, je vous accompagne pas à pas et en cours particulier, que vous soyez débutant ou que vous souhaitiez progresser. En visio, à votre rythme, et toujours avec pédagogie.

Découvrez mes formations Qui suis-je ?
Weak session ID avec DVWA

S’il est prévisible, un pirate peut essayer de le deviner.

Ce module montre pourquoi les identifiants doivent être générés aléatoirement avec des algorithmes robustes.

👉 Tutoriel complémentaire : Sécuriser une session PHP

XSS (DOM)

Dans cette variante, le code JavaScript s’exécute directement dans le navigateur.

  • Le serveur n’est pas responsable.

Un simple paramètre d’URL peut parfois modifier le comportement d’une page si le JavaScript fait confiance aux données reçues.

Vous comprendrez pourquoi les développeurs doivent également sécuriser leur code côté client.

👉 DalFox : Scan de failles XSS

XSS (Reflected)

L’utilisateur saisit une donnée.

Le serveur la renvoie immédiatement dans la page.

Si elle n’est pas correctement filtrée, un script JavaScript peut être exécuté.

Exemple :

<script>alert("Bonjour");</script>

Ce type d’attaque sert souvent à voler des cookies ou à tromper les utilisateurs.

XSS (Stored)

Contrairement au XSS réfléchi, le code malveillant est enregistré dans la base de données.

Par exemple, un commentaire peut contenir :

<script>alert("Test");</script>

Chaque visiteur affichant ce commentaire exécutera automatiquement le script.

  • C’est généralement la variante la plus dangereuse.

CSP Bypass

La Content Security Policy (CSP) limite les scripts pouvant être exécutés sur une page.

Module DVWA CSP

Ce module montre que certaines politiques mal configurées peuvent malgré tout être contournées.

Vous apprendrez ainsi que la sécurité dépend autant de la configuration que de la technologie utilisée.

👉 Tutoriel complémentaire : CSP, Content Security Policy

JavaScript Attacks

Ce module rassemble plusieurs attaques reposant principalement sur JavaScript.

Vous y découvrirez notamment comment un script peut manipuler une page, modifier son comportement ou récupérer certaines informations lorsque le code est mal conçu.

L’objectif est surtout de comprendre les erreurs fréquentes commises côté navigateur.

Authorisation Bypass

Être connecté ne signifie pas forcément avoir tous les droits.

Ce module montre comment certaines applications vérifient mal les autorisations.

Un simple changement d’URL peut parfois permettre d’accéder à une page réservée aux administrateurs.

Vous apprendrez pourquoi les contrôles doivent toujours être réalisés côté serveur.

Open HTTP Redirect

Certaines applications redirigent automatiquement leurs utilisateurs.

Si cette redirection n’est pas contrôlée, un pirate peut envoyer une victime vers un faux site.

Exemple :

https://monsite.fr/redirect?url=https://faux-site.com

La victime pense rester sur le site légitime alors qu’elle est redirigée ailleurs.

Cryptography

Ce module aborde les bases de la cryptographie.

Vous y découvrirez notamment :

  • la différence entre chiffrement et hachage
  • pourquoi les mots de passe ne doivent jamais être stockés en clair
  • l’importance des algorithmes modernes

Il constitue une excellente introduction avant d’aller plus loin dans la sécurité des applications.

👉 Introduction à la cryptographie

API

Les API permettent aux applications de communiquer entre elles.

Ce module présente les erreurs de sécurité les plus fréquentes :

  • absence d’authentification
  • contrôle d’accès insuffisant
  • fuite de données
  • validation insuffisante des paramètres

Aujourd’hui, sécuriser une API est devenu aussi important que sécuriser un site web classique.

Quel parcours suivre lorsqu’on débute ?

L’une des erreurs les plus fréquentes consiste à choisir les modules au hasard. Pourtant, certaines vulnérabilités sont beaucoup plus simples à comprendre que d’autres.

Voici un ordre de progression conseillé.

ÉtapeModule DVWAPourquoi commencer par celui-ci ?
1Brute ForceComprendre l’authentification et les mots de passe.
2SQL InjectionDécouvrir la communication avec une base de données.
3SQL Injection (Blind)Apprendre à exploiter une faille sans réponse visible.
4XSS (Reflected)Comprendre les bases des attaques JavaScript.
5XSS (Stored)Voir les conséquences d’un script persistant.
6XSS (DOM)Découvrir les vulnérabilités côté navigateur.
7CSRFComprendre les actions réalisées à l’insu de l’utilisateur.
8File UploadDécouvrir les risques liés aux fichiers envoyés.
9File InclusionComprendre le chargement non sécurisé de fichiers.
10Command InjectionManipuler les commandes système en toute sécurité.
11Weak Session IDsComprendre la gestion des sessions.
12Authorisation BypassÉtudier les erreurs de contrôle d’accès.
13Open HTTP RedirectDécouvrir les redirections dangereuses.
14Insecure CAPTCHAComprendre les limites des CAPTCHA.
15CSP BypassApprofondir la sécurité du navigateur.
16JavaScript AttacksConsolider les notions JavaScript.
17CryptographyDécouvrir les bases du chiffrement et du hachage.
18APITerminer par la sécurisation des interfaces modernes.

Ce parcours vous permet de construire vos connaissances progressivement. Chaque module DVWA s’appuie en partie sur les notions apprises dans les précédents.

Pour résumer :

Parcours DVWA

Quelle difficulté choisir dans DVWA lorsque l’on débute ?

Commencez toujours avec le niveau Low. Vous pourrez ainsi comprendre le fonctionnement de chaque vulnérabilité sans être bloqué par des protections supplémentaires. Une fois les bases acquises, augmentez progressivement la difficulté vers MediumHigh puis Impossible.

Faut-il connaître le développement web avant d’utiliser les modules DVWA ?

Quelques notions de HTML, PHP, SQL ou JavaScript peuvent aider, mais elles ne sont pas indispensables pour débuter. DVWA est justement conçu pour apprendre progressivement le lien entre le code d’une application et les vulnérabilités qu’elle peut contenir.

Dans quel ordre faut-il étudier les modules DVWA ?

Il est recommandé de commencer par les modules les plus accessibles, comme Brute ForceSQL Injection et XSS, avant de passer à des sujets plus techniques tels que Command InjectionCryptography ou les API. Cette progression permet de construire des bases solides sans brûler les étapes.

Les grandes familles de failles web

Injection SQL, XSS, CSRF, failles d’authentification, erreurs de configuration… Comprendre les principales vulnérabilités web avec des explications simples, des exemples concrets et une approche accessible aux débutants.

Explorer le guide complet
Un point de départ clair pour apprendre à repérer, comprendre et éviter les failles les plus fréquentes sur un site web.

Les modules de DVWA ne sont pas de simples exercices indépendants. Ensemble, ils couvrent les principales familles de vulnérabilités que rencontrent quotidiennement les développeurs et les pentesters.

En suivant un parcours progressif, vous assimilerez beaucoup plus facilement les mécanismes de chaque faille, leurs conséquences et les bonnes pratiques pour les éviter. Une fois ces bases acquises, vous pourrez augmenter le niveau de difficulté de DVWA et commencer à vous confronter à des scénarios beaucoup plus proches des applications réelles.