Installer Damn Vulnerable Web Application (DVWA) sur Kali Linux
Si vous êtes sur la voie d'un chasseur de bugs ou si vous souhaitez en savoir plus sur les vulnérabilités des applications Web, vous avez vraiment besoin d'un site Web fictif pour vous entraîner. Ne touchez jamais aux scanners de vulnérabilités tant que vous ne savez pas comment traiter la vulnérabilité trouvée. Cela sera inutile quand vous aurez lancé un scan sur un site Web et trouvé une vulnérabilité potentielle d'injection SQL sans savoir comment effectuer l'injection. Les applications du site Web fictif vous permettent de pratiquer, tester et exploiter la vulnérabilité dans un environnement sécurisé.
Nous allons apprendre les sujets suivants en détail :
- Installation et configuration de DVWA sur Kali Linux
- Configuration du serveur web Apache 2
- Configuration PHP
- Configuration de la base de données MySQL
DVWA en un coup d'œil
Damn Vulnerable Web Application (DVWA) est une application web conçue pour permettre à un testeur de pénétration de tester et d'exercer ses compétences en hacking offensif dans un environnement contrôlé.
Installer DVWA sur Kali Linux
L'installation de DVWA sur Kali est en fait facile, il existe plusieurs méthodes disponibles. Tout d'abord, l'utilisateur doit télécharger le projet depuis la page GitHub de DVWA et exécuter quelques paramètres de configuration tels que la base de données, le serveur web et PHP. Deuxièmement, l'utilisateur peut également obtenir un package DVWA préconstruit lors de l'installation de Metasploitable. Troisièmement, le dépôt Kali Linux fournit également le package pour DVWA, en utilisant la commande apt-install. La dernière méthode est la plus facile et la plus simple pour installer DVWA sur Kali Linux.
Dans ce tutoriel, nous allons apprendre comment construire ou installer DVWA sur Kali Linux manuellement. Dans le but d'apprendre à créer un site web et de savoir quelle technologie est souvent utilisée pour construire un site web.
Pré-requis
Avant d'installer DVWA sur notre Kali Linux, assurez-vous d'avoir une liste de dépôts à jour et d'avoir installé tous les paquets requis avec la commande suivante :
sudo apt update
sudo apt install -y apache2 mariadb-server mariadb-client php php-mysqli php-gd libapache2-mod-php1. Téléchargez le projet DVWA depuis GitHub
Tout d'abord, nous devons télécharger ou cloner le projet DVWA depuis GitHub sur notre Kali Linux situé dans le répertoire /var/www/html. Utilisez simplement la commande git clone pour cela, mais assurez-vous de changer le répertoire courant en /var/www/html en utilisant la commande cd.
cd /var/www/html
sudo git clone https://github.com/digininja/DVWAUne fois que vous avez téléchargé le projet, jetons un œil aux fichiers qui s'y trouvent.
Ensuite, définissez les permissions de lecture, d'écriture et d'exécution pour le répertoire DVWA.
sudo chmod -R 777 DVWA/Cette autorisation permet à DVWA de stocker les journaux PHPids et de conserver le fichier téléchargé situé dans le répertoire DVWA/hackable/uploads.
2. Fichier de configuration DVWA
L'exemple par défaut du paramètre de configuration de DVWA se trouve dans le répertoire /config. Le nom du fichier est config.inc.php.dist. Vous pouvez y trouver la configuration telle que DBMS, les identifiants de la base de données, les paramètres de sécurité par défaut de DVWA, et bien plus encore. Examinons le fichier ci-dessous.
Ce fichier est un fichier exemple, le DVWA ne l'utilisera pas. Sinon, nous copierons ce fichier et le renommerons (en retirant le .dist à la fin) en config.inc.php.
sudo cp config.inc.php.dist config.inc.phpMaintenant, ouvrez le fichier copié (config.inc.php) avec n'importe quel éditeur de texte et changez les paramètres par défaut de la base de données pour le nom d'utilisateur et le mot de passe.
Par exemple, nous allons changer l'utilisateur en 'user' et le mot de passe en 'passweed'.
Veuillez prendre note de la valeur ci-dessus. Nous avons besoin des valeurs de db_server, db_database, db_user et db_password pour la prochaine configuration ci-dessous.
3. Configuration de la base de données
Tout d'abord, nous devons démarrer le service MySQL en utilisant la commande suivante :
sudo service mysql startEnsuite, connectez-vous à MySQL en utilisant l'utilisateur root, vous serez invité à entrer le mot de passe root :
sudo mysql -u root -pRécapitulons la valeur des informations de la base de données sur le paramètre de configuration DVWA (à l'étape 2) que nous allons utiliser dans le tableau ci-dessous.
| db_server | 127.0.0.1 |
| db_database | dvwa |
| db_user | user |
| db_password | passweed |
À partir des informations ci-dessus, créez un utilisateur de base de données avec le nom ‘user’ et le mot de passe ‘passweed’ sur notre serveur localhost à ‘127.0.0.1’ en utilisant la commande suivante :
create user 'user'@'127.0.0.1' identified by 'passweed';Si configuré correctement, la sortie heureuse sera “Requête OK ”.
La dernière étape consiste à accorder à l'utilisateur des privilèges sur l'ensemble de la base de données ‘dvwa’. Exécutez la commande ci-dessous. Vous devez fournir à nouveau le nom d'utilisateur, le mot de passe et les informations du serveur.
grant all privileges on dvwa.* to 'user'@'127.0.0.1' identified by 'passweed';4. Configurer le serveur web Apache2
Le fichier d'installation d'apache2 sur votre Kali Linux est stocké dans le répertoire /etc/php suivi de la version de votre PHP. Dans ce tutoriel, nous utilisons la dernière version de PHP 8.1.
Maintenant, nous allons apporter des modifications à une fonction PHP pour autoriser l'inclusion d'URL. La configuration est stockée dans le fichier /apache2/php.ini. Ouvrez le fichier en utilisant votre éditeur de texte préféré. Ici, j'utilise l'éditeur de texte nano.
sudo nano /etc/php/8.1/apache2/php.iniFaites défiler vers le bas jusqu'à la section Fopen wrappers et assurez-vous que ces deux fonctions sont activées en définissant la valeur sur On, ce sont allow_url_fopen et allow_url_include.
Ensuite, enregistrez les modifications en appuyant sur Ctrl + O puis Entrée. Quittez l'éditeur nano en appuyant sur Ctrl + X. En autorisant cette fonction, DVWA nous permet de réaliser l'attaque par inclusion de fichier distant XSS (RFI).
5. Lancez DVWA dans le navigateur
Une fois que tout est configuré, redémarrez le service apache2 et le service MySQL en exécutant la commande suivante :
sudo systemctl restart apache2.service
sudo service mysql restartEnsuite, ouvrez un navigateur et visitez http://localhost/DVWA/ ou http://127.0.0.1/DVWA/. Vous verrez une page d'accueil de DVWA comme montré ci-dessous.
La dernière configuration est toujours nécessaire. Nous avons créé des identifiants utilisateurs de base de données auparavant, mais nous n'avons pas créé la base de données. Pour en créer une, allez sur la page DVWA et dans le panneau de gauche, cliquez sur ‘Configurer/Réinitialiser la DB’.
Vous verrez la page ‘Configuration de la base de données’. Maintenant, faites défiler jusqu'en bas et trouvez un bouton nommé ‘Créer/Réinitialiser la base de données’.
Cliquez sur ce bouton.
La configuration est terminée. Votre DVWA est prêt à être exploité. Vous pouvez explorer chaque page de vulnérabilité disponible sur DVWA, telles que la Force Brute, l'Injection de Commande, l'attaque CSRF, l'Inclusion de Fichiers, le Téléversement de Fichiers, l'injection SQL, l'attaque XSS, et bien d'autres comme montré dans la figure ci-dessous.
Assurez-vous de sélectionner le niveau de sécurité approprié avant de lancer le test. Par défaut, le niveau de sécurité était fixé à impossible, ce qui est un autre terme pour une page sécurisée. Veuillez commencer par le niveau le plus bas pour maîtriser le concept fondamental.
Conclusion
Le hacking est également une compétence pratique qui nécessite de l'expérience et une certaine quantité dans la réalisation d'un test de pénétration. DVWA est utile pour former ou enseigner à d'autres comment attaquer les vulnérabilités d'une application web sans risque ou dans un environnement contrôlé.
















