Plug-n-Hack permite supervisar los eventos del cliente (navegador) para ayudar a probar las aplicaciones HTML5.
Para soportar tantos navegadores modernos como sea posible, esto se implementa al inyecta javascript en las respuestas devueltas al navegador.
Lo que significa que al cambiar la respuesta esta funcionalidad debe ser habilitada manualmente.
Para recibir eventos del cliente:
El javascript inyectado envía un latido a ZAP para que ZAP pueda mostrar todos los clientes "activos" en esta pestaña.
En este caso, los clientes "activos" son páginas que están actualmente abiertas en la pestaña del navegador.
Se puede editar y reenviar cualquier evento haciendo clic derecho el elemento menú siempre y cuando que el cliente original esté activo.
También se pueden interceptar y cambiar los postMessages en camino.
Los mensajes de Cliente son interceptado si se selecciona el botón "interrumpir todas las solicitudes" el el nivel superior de la barra de herramientas.
También se pueden configurar puntos de interrupción de cliente a través del botón de la pestaña Clientes.
Se puede hacer fuzz a los postMessages de la misma manera que cualquier otro mensaje. Resalte la cadena que desea hacerle fuzz en la pestaña Solicitud, haga clic derecho y seleccione "Fuzz".
Esta opción solo estará disponible si el navegador relevante todavía tiene esa página abierta, mientras que PnH envía las cargas al navegador.
Las cargas estándares "XSS" pueden ser utilizadas para detectar vulnerabilidades DOM XSS, pero se necesita monitorear manualmente la Interfaz del Usuario para ver si cualquiera de ellas es exitosa.
PnH también añade un archivo de fuzzing personalizado llamado "PlugnHack DOM XSS Oracle".
Esta archivo está basado en el listado OWASP XSS e invoca un método JavaScript "xss" que se inyecta en la página.
Este método invoca a la API de ZAP, que a su vez indica el ataque correspondiente en la interfaz de usuario - estas son vulnerabilidades de XSS DOM confirmadas, aunque (como siempre) se debe comprobar que realmente puedan ser vulnerados en la aplicación que se está probando sin una herramienta como ZAP.