
Extension de navigateur pour suivre, inspecter et exploiter les vulnérabilités postDocument inter-documents avec des capacités de rejeu et de simulation d'exploit cross-origin.
Posta est un outil pour rechercher la communication par messagerie inter-document. Il vous permet de suivre, explorer et exploiter les vulnérabilités postMessage, et inclut des fonctionnalités telles que la relecture des messages envoyés entre fenêtres dans n'importe quel navigateur attaché.

Exécuter Posta dans un environnement de développement :
git clone https://github.com/benso-io/posta
cd posta
npm install
npm start
Le mode développement inclut un serveur web local qui sert un petit site de test et la page d'exploitation. Lorsque vous exécutez en mode développement, vous pouvez accéder à la page d'exploitation à l'adresse http://localhost:8080/exploit/
L'environnement de développement reconstruira l'extension lorsque le code source change. Pour travailler sur l'interface utilisateur, démarrez l'environnement de développement, effectuez vos modifications et actualisez. Veuillez noter que les modifications apportées à la page d'arrière-plan sont reconstruites, mais ne prendront effet qu'après le redémarrage de l'extension (depuis le menu du navigateur).
Exécuter Posta en tant qu'extension Chrome / Chromium :
git clone https://github.com/benso-io/posta.git
chrome://extensionschrome-extension dans Posta et téléchargez-le dans votre navigateurDans la section Onglets, nous trouvons notre origine principale, avec les iframes qu'elle héberge et avec lesquelles elle communique au cours de la session. Nous pouvons choisir le cadre spécifique en cliquant dessus, et observer les postMessages liés uniquement à ce cadre.

Dans la section Messages, nous pouvons inspecter tout le trafic postMessage envoyé depuis l'origine vers ses iframes, et vice versa.
Nous pouvons sélectionner une communication spécifique pour un examen plus approfondi en cliquant dessus.
La zone Listeners présente le code qui est chargé de gérer la communication, nous pouvons cliquer et copier son contenu pour observer le code JS.

Dans la section console, nous pouvons modifier le trafic postMessage original, et rejouer les messages avec les valeurs falsifiées qui seront envoyées depuis l'Origine vers son iframe.
Nous devons faire des tests et voir si nous pouvons affecter le comportement du site web en modifiant le contenu du postMessage. Si nous y parvenons, il est temps d'essayer de l'exploiter depuis une Origine différente, en cliquant sur "Simuler l'exploitation".

Cliquez sur le bouton "host" pour naviguer vers la fenêtre d'exploitation.
Dans la section Exploit, Posta essaiera d'héberger l'origine spécifiée en tant qu'iframe afin d'initier la communication postMessage. La plupart du temps, nous ne pourrons pas le faire, car X-Frame-Options est activé sur le site web d'origine.
Par conséquent, pour continuer notre exploitation, nous devrons obtenir une référence de communication avec notre Origine en initiant la méthode window.open, ce qui peut être réalisé en cliquant sur "Ouvrir en tant qu'onglet".
Nous avons la console à notre droite qui nous aidera à modifier et à élaborer nos charges utiles spécifiées et à les tester en communication inter-origine, initiée en cliquant sur le bouton Exploit.
