XSS réfléchi dans un attribut avec les chevrons encodés

Reflected XSS into attribute with angle brackets HTML-encoded

Ce laboratoire contient une vulnérabilité XSS réfléchi dans la fonctionnalité de recherche du blog : le contenu fourni par l’utilisateur est injecté dans la valeur d’un attribut value d’un <input>, et les chevrons < et > sont encodés en HTML (&lt;, &gt;). L’objectif est d’injecter un nouvel attribut qui déclenche alert().

Observations

  • Le texte saisi apparaît dans l’attribut value de l’input.

  • Tenter d’insérer ">test est neutralisé par l’encodage des chevrons, donc on ne peut pas ouvrir une nouvelle balise de cette façon.

En revanche, puisque la valeur est entourée par des guillemets, il est possible de fermer la valeur value et d’ajouter un nouvel attribut sur le même élément <input> en injectant une séquence contenant une guillemet de fermeture.

  1. Fermer la valeur value avec une double-quote injectée.

  2. Ajouter un nouvel attribut d’événement (par ex. onmouseover) contenant l’appel à alert().

  • Le payload ferme l’attribut value et ajoute onmouseover="alert(0)" à l’élément <input>.

Mis à jour

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