XSS réfléchi dans le HTML avec balises bloquées
Reflected XSS into HTML context with most tags and attributes blocked
Ce lab contient une vulnérabilité XSS réfléchie dans la fonctionnalité de recherche, mais un pare-feu applicatif (WAF) bloque les vecteurs XSS les plus courants.
Pour résoudre le lab, il faut contourner le WAF et déclencher la fonction print().
En essayant des payloads classiques comme
<h1>test</h1>,<imgou<scriptla réponse est : « Tag is not allowed ».

J’ai intercepté la page avec Burp Suite et lancé un envoi via Intruder.

J’ai copié dans la cheat-sheet de portswigger les types d’attributs événementiels (event handlers) et testé plusieurs d’entre eux.

J’obtiens une réponse HTTP 200 pour le paramètre
search(pas d’erreur renvoyée dans le body).






J’ai filtré/essayé plusieurs attributs d’événements et je me suis focalisé sur
onresize.
Payload testé et exploitation :
Injection directe :
<body onresize=alert(0)>— en redimensionnant (zoom molette) l’alerte apparaît.

Objectif final : appeler print() au lieu de alert() :

URL exploit envoyée à la victime :
Livraison via iframe et déclenchement automatique :
Pour forcer l’événement
onresizeau chargement dans l’iframe, on modifie la largeur de l’iframe depuis son attributonload:

et version avec ajustement width au chargement :

Résumé : contournement du WAF en injectant un attribut d’événement autorisé (onresize) qui appelle print(), puis livraison via iframe avec onload qui change la taille pour déclencher onresize.
Mis à jour
Ce contenu vous a-t-il été utile ?