OWASP : Présentation de la plateforme d'apprentissage
2.2 Configuration du navigateur (à controler sur chaque poste)...................... 6
2.3 Première capture de paquet (à tester)..................................................... 7
L'objectif est d'utiliser les outils de la plateforme de test dans les différentes activités, afin de mettre en évidence la vulnérabilité des applications Web.
Voici le schéma final :
![]() |
Deux machines sont donc utilisées : une machine servant pour l’attaque et une autre machine servant de serveur web cible à attaquer.
➜La machine attaquante :
Elle dispose d’un environnement graphique de bureau avec un navigateur. Le proxy BurpSuite y est installé. Le navigateur est configuré pour faire transiter les requêtes par le proxy BurpSuite.
➜ La machine cible :
Il s’agit du serveur web, hébergeant l’application web cible Mutillidae. L’application Mutillidae comporte des pages web vulnérables aux attaques. Elles sont étudiées dans les différents ateliers.
Deux machines virtuelles sont donc utilisées, une 1ère servant à héberger le serveur Mutillidae et une seconde faisant office de client et contenant Burpsuite et d’autres outils nécessaires à l'exécution des défis.
Ces 2 machines virtuelles ont été installées à l'aide de l’outil de virtualisation VirtualBox.
MACHINES |
RÔLES |
ADRESSES IP |
Serveur Debian |
Serveur web hébergeant la plateforme Mutillidae. |
192.168.1.11/24 |
Client Debian |
Machine disposant des outils permettant de réaliser les attaques (navigateur, BurpSuite…). |
192.168.1.12/24 |
Mutillidae est installé sur une machine de type Debian 9.
La machine cliente est également une machine de type Debian 9. Elle dispose d'un bureau et d'un navigateur de type Firefox. L'installation des outils présentés aurait pu se faire sur d'autres distributions. Kali par exemple, qui intègre de nombreux logiciels permettant de faire des tests de pénétration.
Sur les deux machines, la mise à jour des paquets a été réalisée avec la commande suivante :
#apt update && apt upgrade |
Mutillidae est une plateforme pédagogique mise en place par le groupe OWASP (Open Web Application Security Project) qui permet d'étudier les attaques associées aux applications web. Il s'agit de scripts PHP destinés à se familiariser avec les technologies web (protocole HTTP, AJAX…) et aux vulnérabilités qui en découlent.
Cet enseignement se fait à travers plusieurs activités qui ciblent chaque problème de sécurité du TOP10 d’OWASP (injection SQL, XSS, manipulation des en-têtes HTTP, vol de session…). Chaque activité donne accès à une page comportant un défi que l'utilisateur doit accomplir. Les scripts sont disponibles en version non sécurisée afin de tester les vulnérabilités. Des versions sécurisées permettent de vérifier que les attaques échouent avec un minimum de contrôles sur les données saisies dans les formulaires.
Dans l’activité 1, seule la partie sur la notion d’injection est testée.
L'installation a été faite sur le serveur Debian 9 grâce aux manipulations suivantes :
#apt install php7.0-xml libapache2-mod-php php-mysql mysql-server apache2 apache2-utils php-xml php-gd php-imap php-gettext php-curl zip |
Ces commandes ont permis d’installer Apache, MySQL serveur, PHP 7 et leurs dépendances.
Un utilisateur spécifique a été créé, de la façon suivante, dans MySQL pour l’application Mutillidae :
#mysql |
Une fois la console Mysql/MariaDB ouverte, un utilisateur a été créé et des droits lui ont été donné :
CREATE USER 'mutillidae'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* to 'mutillidae'@'localhost'; |
La commande suivante permet d’appliquer les nouveaux droits :
#FLUSH PRIVILEGES; |
➡ Téléchargement et décompression de Mutillidae
Le téléchargement de la dernière version de Mutillidae a été faite à l'aide de la commande wget :
wget https://sourceforge.net/projects/mutillidae/files/mutillidae-project/LATEST-mutillidae-2.6.62.zip |
Via le navigateur de la machine cliente, un 1er test peut être effectué en saisissant dans l'url : <ip-nom-serveur>/mutillidae. Il faut donc que la machine hébergeant l’application mutillidae soit démarrée.
En cas de page blanche, il faut relancer le serveur apache avec la commande suivante :
#service apache2 restart |
BurpSuite est une plateforme qui permet d'effectuer des tests de sécurité sur les applications web. Elle joue le rôle d'un proxy qui se positionne entre le navigateur de l'attaquant et le serveur contenant l'application web à tester. Il capture les requêtes effectuées afin de pouvoir les analyser, les modifier et les rejouer en modifiant les paramètres. Grâce à ces captures, il est alors possible de tester les vulnérabilités comme les injections SQL ou le XSS. BurpSuite incorpore les outils suivants :
v un proxy qui permet d'intercepter les requêtes entre le navigateur et l'application cible ;
v un scanner d'applications web ;
v un outil permettant de découvrir les champs d'une page dans le but de pouvoir les exploiter ;
v un outil d'intrusion permettant d'effectuer des attaques spécifiques afin d'exploiter certaines vulnérabilités ;
v un outil de répétition permettant la modification avant envoi des requêtes ;
v un séquenceur pour tester la randomisation des sessions.
BurpSuite est donc un excellent outil pour relever les défis de Mutillidae.
Burpsuite sera nécessaire uniquement lors de certaines activités.
L'installation de la version gratuite a été faite sur la machine cliente sous Debian 9 grâce aux manipulations suivantes :
Le téléchargement a été fait via le lien suivant en utilisant un navigateur :
portswigger.net/burp |
Le script téléchargé a été rendu exécutable :
chmod +x burpsuite_community_linux_v1_7_32.sh |
Lancement de l'installation :
sh burpsuite_community_linux_v1_7_32.sh |
Pour utiliser Burpsuite, le navigateur a été configuré, sur la machine cliente, pour l’utiliser en tant que proxy. Avec Firefox, il faut atteindre les paramètres puis les options avancées de configuration.
Puis, dans l'onglet réseau, il faut cliquer sur paramètres et faire référence au proxy BurpSuite. L'écoute se fait sur le port 8080.
Ensuite, il faut indiquer l’adresse de bouclage 127.0.0.1 ainsi que le port d'écoute 8080.
![]() |
![]() |
|||
![]() |
![]() |
Démarrer BurpSuite (Cliquer sur Activités et saisir BurpSuite dans la barre de recherche).
Il faut ensuite cliquer sur temporary project.,
![]() |
Puis un autre clic sur suivant et enfin sur burp defaults.
![]() |
Enfin, il faut cliquer sur le bouton Start Burp.
Le répertoire d'installation de BurpSuite se situe par défaut dans /usr/local/BurpSuiteCommunity. Pour effectuer une première interception de requête, il faut cliquer sur l'onglet Proxy, puis sur Intercept et vérifier la présence du bouton intercept is on (en cliquant surIntercept is off).
Lors de l'accès à un site depuis le navigateur, chaque requête est capturée par BurpSuite. Le clic sur le bouton Forward permet de passer à la requête suivante. En attendant ce clic, le proxy se met en attente avant d'envoyer les données vers le serveur web.
Pour désactiver la capture, il suffit de cliquer sur ‘intercept is on’ pour obtenir ‘intercept is off’.
![]() |