XSS DOM avec innerHTML et location.search

DOM XSS in innerHTML sink using source location.search

Vulnérabilité DOM XSS dans la fonctionnalité de recherche du blog. Le code récupère la valeur de location.search et l’insère directement dans le DOM via innerHTML, permettant l’injection et l’exécution de JavaScript quand la valeur provient de l’URL.

Extrait du code observé

Payloads essayés

  • Payload simple (non interprété) : <script>alert("xss")</script>

  • Test d’insertion d’un élément image : <img src="test"</img> (ceci ne déclenche pas d’exécution de script puisque aucun attribut événement n’est présent)

Forcer une erreur de chargement pour déclencher un handler onerror : <img src=0 onerror=alert("xss")> (ce payload utilise l’attribut événementiel onerror pour exécuter alert quand le chargement de l’image échoue)

Le script affecte directement innerHTML avec la valeur search de l’URL ; par conséquent, des fragments HTML contenant des gestionnaires d’événements (par ex. onerror) ou des balises exécutables peuvent conduire à l’exécution de code. Le payload <img src=0 onerror=alert("xss")> provoque une erreur de chargement et exécute alert("xss"), démontrant la vulnérabilité DOM XSS.

Mis à jour

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