Installez une putain d'application Web vulnérable dans Kali Linux

Installez une putain d'application Web vulnérable dans Kali Linux
Si vous êtes sur le chemin d'un chasseur de primes de bogue ou si vous souhaitez en savoir plus sur les vulnérabilités des applications Web, vous avez vraiment besoin d'un site Web factice pour pratiquer. Ne touchez jamais aucun scanners de vulnérabilité jusqu'à ce que vous sachiez comment gérer la vulnérabilité trouvée. Il sera inutile lorsque vous aurez lancé une analyse sur un site Web et trouvé une vulnérabilité potentielle de l'injection SQL, mais vous saviez comment faire l'injection. Les applications de site Web factice vous permettent de pratiquer, tester et exploiter la vulnérabilité dans un environnement sûr.

Nous apprendrons les sujets suivants en détail:

  • Installation et configuration de DVWA dans 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 un testeur de pénétration pour tester et pratiquer ses compétences de piratage offensive dans un environnement contrôlé.

Installez DVWA sur Kali Linux

L'installation de DVWA sur Kali est en fait facile, en fait, il existe plusieurs méthodes disponibles. Tout d'abord, l'utilisateur doit télécharger le projet à partir de la page DVWA GitHub et exécuter quelques paramètres de configuration tels que la base de données, le serveur Web et le PHP. Deuxièmement, l'utilisateur pourrait également obtenir un package DVWA prédéfini lorsqu'il installe métasploitable. Troisièmement, le référentiel Kali Linux fournit également le package pour DVWA, en utilisant la commande apt-install. La dernière méthode est le moyen le plus simple et sans effort d'installer DVWA sur Kali Linux.

Dans ce tutoriel, nous apprendrons à construire ou à installer DVWA sur Kali Linux manuellement. Dans le but d'apprendre à créer un site Web et à savoir quelle est la technologie qui est souvent utilisée pour créer un site Web.

Prérequis

Avant d'installer DVWA dans notre Kali Linux, assurez-vous que nous avons une liste de références mises à jour et installé tous les packages requis avec la commande suivante:

Mise à jour Sudo Apt
sudo apt install -y apache2 mariaDb-server mariaDB-client php php-mysqli php-gd libapache2-mod-php

Téléchargez le projet DVWA GitHub

Tout d'abord, nous devons télécharger ou cloner le projet DVWA GitHub sur notre répertoire Kali Linux situé dans / var / www / html. Utilisez simplement la commande git clone pour le faire, mais assurez-vous de modifier le répertoire actuel en / var / www / html en utilisant la commande cd.

CD / var / www / html
sudo git clone https: // github.com / digininja / dvwa

Une fois que vous avez téléchargé le projet, jetons un coup d'œil à quels fichiers y sont.

Ensuite, définissez l'autorisation de lire, d'écrire et d'exécuter des autorisations au répertoire DVWA.

Sudo Chmod -R 777 DVWA /

Cette autorisation permet à DVWA de stocker les journaux PHPIDS et de stocker le fichier téléchargé situé dans le répertoire DVWA / hackable / uploads.

Fichier de configuration DVWA

L'exemple par défaut du paramètre de configuration de DVWA est situé dans le répertoire / configuration. Le nom de fichier est config.Inc.php.distr. Vous pouvez trouver la configuration telle que les SGBD, les informations d'identification de la base de données, les paramètres de sécurité DVWA par défaut et bien d'autres. Jetons un coup d'œil au fichier ci-dessous.

Ce fichier est un exemple de fichier, le DVWA ne l'utilisera pas. Sinon, nous copierons ce fichier et le renommerons (en supprimant le .dist à la fin) pour configurer.Inc.php.

Sudo CP Config.Inc.php.configuration distante.Inc.php

Maintenant, ouvrez le fichier copié (config.Inc.php) à l'aide de n'importe quel éditeur de texte et modifiez le paramètre par défaut de la base de données du nom d'utilisateur et du mot de passe.

À titre d'exemple, nous allons changer l'utilisateur en «utilisateur» et le mot de passe en `` passe-passe ''.

Veuillez prendre note de la valeur ci-dessus. Nous avons besoin de la valeur de DB_SERVER, DB_DATABASE, DB_USER et DB_PASSWORD pour la configuration suivante ci-dessous.

Configuration de la base de données

Tout d'abord, nous devons lancer le service MySQL en utilisant la commande suivante:

service sudo mysql start

Ensuite, connectez-vous à MySQL à l'aide de l'utilisateur racine, on vous demandera le mot de passe racine:

sudo mysql -u root -p

Recaptons la valeur d'informations sur 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 utilisateur
db_password pass d'assiette

À partir des informations ci-dessus, créez un utilisateur de base de données avec le nom 'utilisateur'Et le mot de passe'pass d'assiette"Sur notre serveur localhost à"127.0.0.1'En utilisant la commande suivante:

Créer l'utilisateur 'utilisateur' @ '127.0.0.1 «Identifié par« passhoued »;

S'il est configuré correctement, la sortie heureuse sera «Requête ok".

La dernière étape consiste à accorder le privilège de l'utilisateur dans toute la base de données «DVWA». Exécutez la commande ci-dessous. Vous devez à nouveau fournir les informations du nom d'utilisateur, du mot de passe et du serveur.

Accorder tous les privilèges sur DVWA.* à 'utilisateur' @ '127.0.0.1 «Identifié par« passhoued »;

Configurer le serveur Web Apache2

Le fichier d'installation 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 PHP 8.1.

Maintenant, nous allons apporter des modifications à une fonction PHP perte_url_include à être activée. La configuration est stockée dans / apache2 / php.fichier 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.ini

Faites défiler vers le bas vers le Emballages fopen Section et s'assurer que ces deux fonctions sont activées en définissant la valeur sur ON, elles sont allow_url_fopen et perte_url_include.

Ensuite, enregistrez les modifications en appuyant Ctrl + o et Entrer. Quittez l'éditeur Nano en appuyant sur Ctrl + x. En autorisant cette fonction, DVWA nous permet de faire l'attaque de l'inclusion du fichier distant XSS (RFI).

Lancez DVWA sur 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 redémarrer apache2.service
service sudo mysql redémarrage

Ensuite, ouvrez un navigateur et visitez http: // localhost / dvwa / ou http: // 127.0.0.1 / dvwa /. Vous verrez une page de bienvenue DVWA comme indiqué ci-dessous.

La dernière configuration est nécessaire, toujours. Nous avons déjà créé des informations d'identification de l'utilisateur de la base de données, mais nous n'avons pas créé la base de données. Pour en créer un, accédez à la page DVWA et sur le panneau de gauche, cliquez surConfiguration / réinitialisation DB'.

Vous verrez le 'Configuration de la base de données'Page. Maintenant, faites défiler jusqu'au bas et trouvez un bouton nommé 'Créer / réinitialiser la base de données'.

Cliquez sur ce bouton.

La configuration est effectuée. Votre DVWA est prêt à être exploité. Vous pouvez explorer toutes les page de vulnérabilité disponibles à DVWA telles que la force brute, l'injection de commande, l'attaque CSRF, l'inclusion de fichiers, le téléchargement de fichiers, l'injection SQL, l'attaque XSS et bien d'autres comme indiqué dans la figure ci-dessous.

Assurez-vous de sélectionner le niveau de sécurité approprié avant d'exécuter le test. Par défaut, le niveau de sécurité a été défini sur 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 piratage est également une compétence pratique qui nécessite une expérience et une quantité pour effectuer un test de pénétration. DVWA est utile pour former ou enseigner aux autres comment attaquer les vulnérabilités d'une application Web sans risque ou avec un environnement contrôlé.