Introduction
Bienvenue dans notre laboratoire interactif! Ici, nous allons plonger dans le monde de la sécurité web en nous concentrant sur le Cross-Site Scripting (XSS) - une vulnérabilité commune mais cruciale dans les applications web. Si un site web n'est pas correctement protégé contre le XSS, il peut devenir un terrain de jeu pour les attaquants.
Mais ne vous inquiétez pas! Nous allons vous aider à comprendre et à résoudre ce problème. Nous commencerons par décomposer ce qu'est le XSS, pourquoi il est important et comment il peut être exploité. Nous vous guiderons ensuite dans l'utilisation d'un outil appelé 'hackbar', qui nous aidera à identifier les vulnérabilités XSS potentielles.
De plus, nous explorerons également diverses 'techniques de contournement'. Ce sont des méthodes astucieuses que les attaquants peuvent utiliser pour contourner les mesures de sécurité, et en les comprenant, nous pouvons mieux protéger nos sites web.
N'oubliez pas que la meilleure façon d'apprendre est de faire - nous effectuerons donc des expériences pratiques tout au long. À la fin de ce laboratoire, vous aurez une bonne compréhension des vulnérabilités XSS et de la manière de les prévenir. Commençons!
Installation et utilisation de Hackbar
Dans ce module, nous allons nous familiariser avec un outil pratique appelé 'hackbar', qui sera notre principal allié pour détecter les vulnérabilités XSS (Cross-Site Scripting).
Tout d'abord, installons l'extension de navigateur hackbar :
- Accédez au répertoire
/home/labex/project. - Trouvez le fichier
hackbar-2.3.1-fx.xpi, double-cliquez dessus, puis cliquez sur "Ajouter" dans la fenêtre contextuelle pour installer l'extension. Comme le montre la capture d'écran ci-dessous.
Une fois l'installation terminée, vous pouvez accéder à hackbar en lançant les outils de développement de votre navigateur. Cela se fait généralement en appuyant sur la touche F12, ou en accédant à Paramètres > Développeur > Débogueur.
Parcourons rapidement certaines des fonctionnalités clés de hackbar :
- Charger l'URL : Cette fonctionnalité importe l'URL de la page sur laquelle vous vous trouvez actuellement dans hackbar.
- Découper l'URL : Cela décompose les paramètres de l'URL pour les rendre plus faciles à lire et à comprendre.
- Exécuter : Cette fonctionnalité envoie l'URL modifiée au serveur.
- Données POST : Cela vous permet d'envoyer des données POST au serveur.
De plus, hackbar est livré avec des payloads intégrés pour diverses vulnérabilités, notamment l'injection SQL, le XSS et l'XXE.
Expérience de vulnérabilité XSS 1
Dans cette section, nous allons approfondir une vulnérabilité XSS (Cross-Site Scripting) de base et apprendre comment l'exploiter à l'aide de hackbar.
Tout d'abord, exécutez la commande suivante pour préparer notre environnement de laboratoire :
docker run -d -p 82:80 --name pentesterlab-WebforPentest-1 -it jewel591/vulnbox:pentesterlab-WebforPentest-1 /bin/sh -c 'service apache2 start && tail -f /var/log/apache2/error.log'
Ensuite, lancez votre navigateur web et accédez à cette URL :
http://127.0.0.1:82/xss/example1.php?name=hacker
Voici les étapes pour exploiter la vulnérabilité XSS :
- Appuyez sur F12 pour lancer hackbar et cliquez sur "Charger l'URL" pour importer l'URL de la page actuelle.
- Modifiez la valeur du paramètre
nameen123, puis cliquez sur "Exécuter". Vous devriez observer la mise à jour de la page avec cette nouvelle valeur, comme le montre l'image ci-dessous.
- Utilisez le payload XSS intégré dans hackbar (
XSS > XSS Alert) et cliquez sur "Exécuter". Cela devrait déclencher une alerte XSS, comme le montre l'image ci-dessous.
Expérience de vulnérabilité XSS 2
Dans cette partie, nous allons explorer une technique de base pour contourner les filtres XSS (Cross-Site Scripting).
Commencez par accéder à l'URL suivante dans votre navigateur web :
http://127.0.0.1:82/xss/example2.php?name=hacker
Voici les étapes pour contourner le filtre XSS :
- Essayez d'injecter un simple payload XSS à l'aide de hackbar, par exemple
<script>alert(1)</script>. Vous constaterez que cela ne produit pas le résultat attendu, comme le montre l'image ci-dessous.
- Examinez le code source de la page. Vous remarquerez que les balises
<script>et</script>sont filtrées, comme le montre l'image ci-dessous.
- Pour contourner ce filtre, essayez d'utiliser une casse différente pour la balise
script, comme<ScripT>alert(1)</ScripT>. Cela pourrait vous permettre de contourner le filtre et d'injecter avec succès le payload XSS, comme le montre l'image ci-dessous.
Expérience de vulnérabilité XSS 3
Dans cette phase, nous allons apprendre à utiliser diverses balises et attributs HTML pour exécuter des attaques XSS (Cross-Site Scripting).
Tout d'abord, accédez à l'URL suivante dans votre navigateur web :
http://127.0.0.1:82/xss/example4.php?name=hacker
Suivez ces étapes pour contourner le filtre XSS et exécuter une attaque :
- Essayez d'injecter un simple payload XSS à l'aide de hackbar. Cependant, vous constaterez que le serveur identifie et bloque le mot - clé
script, comme le montre l'image ci - dessous.
- Pour contourner ce filtre, nous allons utiliser la balise HTML
<a>en combinaison avec l'attributonclick:
<a onclick="alert('xss')">xss</a>
Ce payload génère un lien cliquable sur la page web. Lorsqu'il est cliqué, il déclenche la fonction JavaScript alert('xss').
- Cliquez sur le lien "xss" de la page. Vous devriez voir l'alerte XSS s'activer, comme le montre l'image ci - dessous.

Il existe une multitude de balises et d'attributs HTML qui peuvent être utilisés ensemble pour lancer des attaques XSS. Pour des payloads XSS plus sophistiqués, consultez le dépôt suivant :
https://github.com/iSecurity-Club/Pentest-Methodologies/blob/master/web-exploit-exp/xss/payloads.txt
Résumé
Dans ce laboratoire, nous avons appris les techniques fondamentales pour découvrir et exploiter les vulnérabilités XSS. Nous avons exploré comment utiliser l'outil hackbar pour tester les vulnérabilités XSS et avons employé diverses techniques de contournement, telles que la manipulation de la casse et l'utilisation de différentes balises et attributs HTML. Grâce à des expériences pratiques, nous avons acquis une expérience concrète dans l'identification et l'exploitation des vulnérabilités XSS dans les applications web. Ce laboratoire a fourni une base solide pour explorer plus en profondeur les techniques XSS plus avancées et les tests de sécurité des applications web.



