XSS DOM via Web Messages

DOM XSS using web messages

Exploiter une vulnérabilité de type DOM XSS basée sur les messages web (postMessage) pour provoquer l’appel de la fonction print() sur la page cible en envoyant une charge via le serveur d’exploit.

Comportement observé (code source)

La page écoute les messages postés et injecte directement le contenu reçu dans l’élément #ads sans désinfection :

Cela signifie que tout e.data reçu sera rendu comme HTML dans #ads, ouvrant la porte à une XSS DOM si un attaquant peut poster un message contrôlé.

Tests interactifs (console)

Exemples de messages envoyés depuis la console du parent / d’un iframe pour vérifier le comportement :

  • message texte simple

  • injection HTML

  • test d’alerte (XSS)

  • provoquer print() (objectif du labo)

Exploit par iframe (serveur d’exploit)

Exemple d’HTML hébergé sur votre serveur d’exploit qui charge la page cible dans un iframe puis poste la charge utile au chargement de l’iframe :

Pour déclencher print() sur la page cible, envoyer la charge utile contenant l’élément img avec onerror=print() :

Mis à jour

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