XSS stocké dans onclick avec encodage complet

Stored XSS into onclick event with angle brackets and double quotes HTML-encoded and single quotes and backslash escaped

Cette lab contient une vulnérabilité XSS stockée dans la fonctionnalité de commentaires : la valeur d’un champ (nom/auteur/website) est réutilisée dans un attribut onclick et encodée — les chevrons < et > et les guillemets doubles sont HTML-encodés, tandis que les guillemets simples et les backslashes sont échappés.

Objectif : soumettre un commentaire de façon à exécuter alert() lorsque l’on clique sur le nom de l’auteur.

Dans la zone website la page injecte quelque chose comme :

Les apostrophes simples sont représentées par l’entité &apos;. Exemple :

  • Lorsque l’on envoie http://hack.com&apos;test la page interprète &apos; comme apostrophe (donc la quote est présente côté DOM).

  • Profiter du fait que &apos; devient une apostrophe pour briser la chaîne JavaScript et injecter un calcul/concaténation qui appelle alert().

  • Lorsque l’on envoie http://hack.com&apos;test la page interprète &apos; comme apostrophe (donc la quote est présente côté DOM).

  • Profiter du fait que &apos; devient une apostrophe pour briser la chaîne JavaScript et injecter un calcul/concaténation qui appelle alert().

Mis à jour

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