
Extensión de navegador para rastrear, inspeccionar y explotar vulnerabilidades de postMessage entre documentos, con capacidades de repetición y simulación de exploits entre orígenes.
Posta es una herramienta para investigar la comunicación de Mensajería entre Documentos (Cross-document Messaging). Permite rastrear, explorar y explotar vulnerabilidades de postMessage, e incluye funciones como la reproducción de mensajes enviados entre ventanas dentro de cualquier navegador adjunto.

Ejecutar Posta en el entorno de desarrollo:
git clone https://github.com/benso-io/posta
cd posta
npm install
npm start
El modo de desarrollo incluye un servidor web local que sirve un pequeño sitio de prueba y la página de explotación. Cuando se ejecuta en modo de desarrollo, puede acceder a la página de explotación en http://localhost:8080/exploit/
El entorno de desarrollo reconstruirá la extensión cuando cambie el código fuente. Para trabajar en la interfaz de usuario, inicie el entorno de desarrollo, realice sus cambios y actualice. Tenga en cuenta que los cambios en la página de fondo se reconstruyen, pero solo surtirán efecto después de reiniciar la extensión (desde el menú del navegador).
Ejecutar Posta como una extensión de Chrome / Chromium:
git clone https://github.com/benso-io/posta.git
chrome://extensionschrome-extension dentro de Posta y subirlo a su navegadorEn la sección Pestañas podemos encontrar nuestro Origen principal, con los iframes que aloja y con los que se comunica durante la sesión. Podemos elegir el marco específico haciendo clic en él, y observar los postMessages relacionados solo con ese marco.

En la sección Mensajes, podemos inspeccionar todo el tráfico postMessage que se envía desde el origen a sus iframes, y viceversa.
Podemos seleccionar una comunicación específica para un examen más detallado haciendo clic en ella.
El área Listeners presenta el código que se encarga de manejar la comunicación, podemos hacer clic y copiar su contenido para la observación del código JS.

En la sección de la consola, podemos modificar el tráfico postMessage original, y reproducir los mensajes con los valores alterados que se enviarán desde el Origen a su iframe.
Debemos hacer pruebas y ver si podemos afectar el comportamiento del sitio web cambiando el contenido de postMessage. Si lo logramos, es hora de intentar explotarlo desde un Origen diferente, haciendo clic en 'Simular exploit'.

Haga clic en el botón 'host' para navegar a la ventana de explotación.
En la sección Exploit, Posta intentará alojar el origen especificado como un iframe para iniciar la comunicación postMessage. La mayoría de las veces no podremos hacerlo, debido a que X-Frame-Options está habilitado en el sitio web de origen.
Por lo tanto, para continuar con nuestra explotación, necesitaremos obtener una referencia de comunicación con nuestro Origen iniciando el método window.open, lo cual se puede lograr haciendo clic en 'Abrir como pestaña'.
Tenemos la consola a nuestra derecha, que nos ayudará a modificar y elaborar nuestros payloads especificados y probarlos en Comunicación entre Orígenes, iniciada al hacer clic en el botón Exploit.
