Test de Vulnérabilités XSS
Avec la capture du trafic web configurée, vous pouvez maintenant utiliser Burp Suite pour tester les vulnérabilités Cross-Site Scripting (XSS). XSS est un problème de sécurité web courant où les attaquants injectent des scripts malveillants dans des pages web qui sont ensuite exécutés dans le navigateur d'un utilisateur. Cette étape se concentre sur l'identification des failles XSS potentielles en soumettant des entrées de test et en analysant les réponses.
Pour les débutants, XSS se produit lorsqu'une application web ne parvient pas à assainir (sanitize) les entrées de l'utilisateur, permettant ainsi à du code nuisible (comme JavaScript) d'être injecté et exécuté. Il existe différents types de XSS, mais ici, vous testerez le XSS réfléchi (reflected XSS), où l'entrée malveillante est immédiatement renvoyée dans la réponse du serveur sans être stockée.
Puisque vous êtes dans le shell du conteneur Kali Linux (automatiquement entré lors de l'ouverture du terminal), assurez-vous que Burp Suite et Firefox sont toujours en cours d'exécution depuis les étapes précédentes. Sinon, relancez-les avec burpsuite
et firefox &
respectivement.
Dans Firefox, accédez à un site web de test qui accepte les entrées de l'utilisateur, comme une zone de recherche ou un formulaire. Pour ce laboratoire, si aucun site de test spécifique n'est fourni dans la machine virtuelle LabEx, vous pouvez utiliser un site de test public comme http://testphp.vulnweb.com
s'il est accessible. Tapez l'URL dans la barre d'adresse de Firefox et appuyez sur Entrée.
Une fois la page chargée, localisez un champ de saisie, tel qu'une barre de recherche. Entrez une chaîne de test simple comme test<xss>
dans le champ et soumettez le formulaire. Cette entrée est inoffensive, mais elle permet de vérifier si l'application renvoie l'entrée sans l'assainir.
Passez à Burp Suite, accédez à l'onglet Proxy
et sélectionnez le sous-onglet Historique HTTP
(HTTP history). Trouvez la requête correspondant à la soumission de votre formulaire. Cliquez dessus pour afficher les détails. Dans le volet Requête
(Request), recherchez le paramètre où votre entrée test<xss>
a été envoyée (il peut se trouver sous un champ tel que search
ou query
).
Ensuite, dans le volet Réponse
(Response), recherchez votre chaîne d'entrée test<xss>
. Si vous voyez la chaîne exacte reflétée dans la réponse sans être échappée (par exemple, non convertie en test<xss>
), l'application pourrait être vulnérable au XSS réfléchi.
Sortie attendue dans Burp Suite (visuelle, pas dans le terminal) :
Dans le volet Réponse
, si vous voyez test<xss>
tel quel dans le contenu HTML, cela indique une vulnérabilité potentielle. S'il apparaît comme test<xss>
, l'entrée a été assainie, ce qui réduit le risque de XSS.
Si vous identifiez une vulnérabilité potentielle, faites un clic droit sur la requête dans l'onglet Historique HTTP
et sélectionnez Ajouter à la carte du site
(Add to site map) pour l'organiser en vue d'un rapport à l'étape suivante. Ce processus de test de XSS en soumettant des données de test et en analysant les réponses renforce vos compétences en matière d'évaluation des vulnérabilités. Gardez Burp Suite et Firefox ouverts pendant que vous passez à l'étape finale.