Mener des expériences sur les vulnérabilités XSS avec Hackbar

NmapNmapBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

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!


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/firewall_evasion("Firewall Evasion Techniques") subgraph Lab Skills nmap/firewall_evasion -.-> lab-416153{{"Mener des expériences sur les vulnérabilités XSS avec Hackbar"}} end

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 :

  1. Accédez au répertoire /home/labex/project.
  2. 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.
    Fenêtre contextuelle d'installation de l'extension hackbar

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' --registry-mirror='https://registry.docker-cn.com'

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 :

  1. Appuyez sur F12 pour lancer hackbar et cliquez sur "Charger l'URL" pour importer l'URL de la page actuelle.
  2. Modifiez la valeur du paramètre name en 123, 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.
    Mise à jour du paramètre name en XSS
  3. 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.
    Alerte XSS déclenchée

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 :

  1. 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.
    Tentative d'injection XSS échouée
  2. 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.
    Code source du filtre XSS
  3. 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.
    Injection réussie en contournant le filtre XSS

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 :

  1. 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.
    Le filtre XSS bloque la balise script
  2. Pour contourner ce filtre, nous allons utiliser la balise HTML <a> en combinaison avec l'attribut onclick :
<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').

  1. Cliquez sur le lien "xss" de la page. Vous devriez voir l'alerte XSS s'activer, comme le montre l'image ci - dessous.
    Exemple d'activation de l'alerte XSS

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.