Testez vos compétences en Hacking avec DVWA
Testez vos compétences en Hacking avec DVWA
-
Objectifs
- Apprendre à identifié les vulnérabilités des sites et des applications web,
- Tester les techniques d’exploitation et d’intrusion,
- Apprendre les méthodes de correction pour mieux sécuriser des systèmes .
-
Contexte
- DVWA (Damn Vulnerable Web App) est une application Web qui est sacrément vulnérables écrite en PHP/MySql .
- Elle est légère, facile à utiliser et plein de failles à exploiter.
- DVWA est destiné aussi bien aux professionnels de la sécurité qu’aux personnes souhaitant s’entraîner ou voulant en apprendre plus sur les attaques Web, de tester des techniques d’attaques dans un environnement légal.
- L’objectif principal de ce terrain de jeux est d’aider les testeurs de pénétration et les professionnels de la sécurité à tester leurs compétences et leurs outils.
- En outre, cela peut aider les développeurs Web à mieux comprendre comment sécuriser les applications Web, mais aussi à aider les étudiants / enseignants à tout apprendre sur la sécurité des applications Web et les vulnérabilités éventuelles.
-
DVWA
- DVWA est une application Web extrêmement vulnérable, codée en PHP et utilisant une base de données MySQL.
- L’application DVWA contient trois niveaux de difficulté: Facile, moyen et difficile.
- Je vous recommande d’en choisir le niveau facile pour commencer, afin de ne pas se décourager. Bien entendu, vous pourrez passer aux niveaux suivants par la suite, mais il est préférable de commencer intelligemment.
- Vous pouvez jouer et essayer de découvrir autant de problèmes que possible afin d’approfondir vos connaissances / compétences.
- Les failles web disponible dans l’application DVWA:
- Attaque par force brute: Téléchargement de fichiers,XSS (DOM)
- Injection de commande: CAPTCHA non sécurisé,XSS (réfléchi)
- Attaques CSRF: Injection SQL / Injection SQL (en aveugle),XSS (stocké)
- Inclusion de fichier: ID de session faibles,Contournement CSP
- Exécution de commande via shell_exec en PHP:
- Faille upload:
- Exigences:
- serveur Web (XAMPP comme alternative)
- PHP
- MySQL
- Autres dépendances possibles (selon le système d’exploitation)
-
Installation
- L’article suivant explique comment installer DVWA:Installer et configurer DVWA.
-
Attaques
-
Attaque XSS DVWA
- Afin de se familiariser et de se former à l’outil, nous allons commencer par la réalisation d’une attaque de type XSS permanente.
- Pour cela, nous allons choisir "XSS stored" dans le menu a droite.
- Un formulaire avec deux champs est affiché. Normalement la détection de la présence d’une faille XSS peut se faire en entrant un code javascript dans un champ de formulaire ou dans une URL.
- Donc on tape la ligne suivante dans le champ message de notre formulaire :
<script>alert('FunInformatique')</script>
- Si une boîte de dialogue apparaît, on peut en conclure que l’application Web est sensible aux attaques de type XSS. Ce script s’exécutera à chaque fois qu’on visite cette page.
- Nous allons commencer par la réalisation d’une attaque de type XSS permanente.
- Pour cela, nous allons choisir « XSS stored » dans le menu a droite. Un joli formulaire avec deux champs est alors affiché. Normalement la détection de la présence d’une faille XSS peut se faire en entrant un code javascript dans un champ de formulaire ou dans une URL.
- Donc on tape la ligne suivante dans le champ message de notre formulaire :
>script>alert('Bonjour')>/script>
- Si une boîte de dialogue apparaît, on peut en conclure que l’application Web est sensible aux attaques de type XSS. Ce script s’exécutera à chaque fois qu’on visite cette page.
-
Application
- Se connecter à l’application DVWA en utilisant le login bee et le mot de passe bug.
- Cliquer sur l’item de menu DVWA Security et positionner le niveau de sécurité sur low.
- Cliquer sur l’item de menu XSS reflected. Le formulaire affiché est vulnérable aux attaques XSS. Afficher le code source du script de traitement en appuyant sur le bouton source. Réaliser une attaque XSS réfléchie en injectant dans le champ un script JavaScript permettant d’afficher une fenêtre d’alerte.
- Cliquer sur l’item de menu DVWA Security et positionner le niveau de sécurité sur medium.
- Retourner sur la page XSS reflected. Le script de traitement dispose maintenant d’une défense contre les injections de JavaScript. Modifier l’attaque précédente pour pouvoir à nouveau injecter le script JavaScript.
- Cliquer sur l’item de menu DVWA Security et positionner le niveau de sécurité sur high.
- Retourner sur la page XSS reflected. Afficher le code source du script de traitement.. Le script de traitement dispose maintenant d’une défense encore plus efficace contre les injections de balises. Est-il encore possible d’injecter un script JavaScript ou n’importe quelle balise HTML ?
- Cliquer sur l’item de menu DVWA Security et positionner le niveau de sécurité sur low.
- Cliquer sur l’item de menu XSS stored. Le formulaire affiché est vulnérable aux attaques XSS stockées. Afficher le code source du script de traitement en appuyant sur le bouton source. Réaliser une attaque XSS stockée en injectant dans le champ un script JavaScript permettant d’afficher une fenêtre d’alerte.
- https://www.cyberpunk.rs/dvwa-damn-vulnerable-web-application
- https://openclassrooms.com/fr/courses/2091901-protegez-vous-efficacement-contre-les-failles-web/2680167-la-faille-xss
Alors comme je n’ai pas le temps de coder avec JavaScript pour vous démontrer que la faille XSS est dangereuse, je vous recommande de travailler avec l’outil Beef, un framework d’exploitation Web 2.0 codé en PHP & JavaScript.
Source: