postMessage()
Dernière mise à jour
Dernière mise à jour
Certains sites contournent SOP en utilisant postMessage(). Cette méthode est une API web qui utilise la syntaxe JavaScript. Vous pouvez l'utiliser pour envoyer des messages texte vers une autre fenêtre:
<fenêtre de réception>.postMessage(<message à envoyer>, <origin de la cible>);
La fenêtre de réception traitera alors le message en utilisant un gestionnaire d'événements qui sera déclenché lorsque la fenêtre de réception reçoit un message:
window.addEventListener("message",<event handler function>);
Étant donné que l'utilisation de postMessage() nécessite que l'expéditeur obtienne une référence au fenêtre du récepteur, les messages ne peuvent être envoyés qu'entre une fenêtre et ses iframes ou pop-up.
Un site pourrait utiliser postMessage() si vous inspectez la page (par exemple, en faisant un clic droit dessus dans Chrome et en choisissant Inspecter, puis en naviguant vers Event Listeners) et qu'en recherchent un Event listener vous trouvez un résultat comme celui-ci.
MessPostage est une extension permettant de remonter si les sites consultés utilisent l'API postMessage.
ressource: https://github.com/Sjord/messpostage
Posta est un outil permettant de rechercher les Cross-Document Messaging communications et d'exploiter les vulnérabilités liées à postMessage.
ressource: https://github.com/benso-io/posta