XSS DOM — document.write avec location.search

DOM XSS in document.write sink using source location.search

Ce laboratoire contient une vulnérabilité XSS côté DOM dans la fonctionnalité de suivi des requêtes de recherche. La page utilise document.write pour écrire dans le DOM des données provenant de location.search, que l’on peut contrôler via l’URL.

Description de la vulnérabilité document.write est appelé avec la chaîne issue de location.search sans assainissement. Comme l’input provient directement de l’URL, un attaquant peut injecter du HTML/JS dans la page en manipulant location.search.

Objectif pour la résolution Effectuer une attaque XSS côté DOM qui appelle la fonction alert() lorsque la page est chargée.

Observations / indices Le code génère quelque chose ressemblant à une balise <img> contenant un paramètre searchTerms entre guillemets, par exemple :

Si l’on ferme la balise <img> et les guillemets, il devient possible d’insérer du contenu HTML/JS arbitraire.

Exemples de payloads testés (fournis) Fermer la balise et injecter du HTML :

Fermer la balise et injecter du script pour déclencher alert :

Mis à jour

Ce contenu vous a-t-il été utile ?