O Plug-n-Hack permite que você monitore eventos do navegador (o cliente) para ajudar a testar aplicações HTML5.
Para poder dar o maior suporte possível a uma ampla gama de navegadores modernos, isso é implementado injetando-se javascript em respostas retornadas ao navegador.
Como isso significa alterar a resposta, essa funcionalidade tem que ser habilitada manualmente.
Para receber eventos de cliente:
O javascript injetado envia um heartbeat (um aviso) ao ZAP, para que o ZAP possa exibir todos os clientes 'ativos' nesta aba
Neste caso, clientes 'ativos' são páginas abertas em uma aba de navegador
Você pode editar e reenviar qualquer evento através de um item de menu de clique direito, enquanto o cliente está ativo.
Você também pode interceptar e alterar postMessages com o ZAP em funcionamento.
Mensagens de cliente são interceptadas se o botão 'pausar em todas as solicitações' estiver selecionado na barra de ferramentas superior.
Você também pode definir pontos de interrupção personalizados no cliente através de um botão na própria aba de Clientes
Você pode também fazer fuzz (difusão) de postMessages assim como com qualquer outra mensagem - selecione a string na qual você deseja fazer fuzz na aba de request, clique com o botão direito e selecione "Fuzz".
Esta opção só estará disponível se o navegador focalizado ainda tiver essa página aberta, já que o Plug-n-Hack/PnH envia as cargas/payloads ao navegador.
Payloads padrão 'XSS' podem ser usadas para detectar vulnerabilidades XSS DOM, mas você precisará monitorar a interface do usuário para ver se deu certo.
O PnH traz um arquivo de difusão personalizado chamado "PlugnHack DOM XSS Oracle".
Este arquivo é baseado no cheatsheet OWASP XSS e invoca um método JavaScript 'xss' que é injetado a página.
Este método chama a API ZAP, que por sua vez, sinaliza o ataque na interface de usuário - essas vulnerabilidades XSS DOM confirmadas, embora (como sempre) você deva verificar o que realmente pode ser explorado na aplicação que você está testando sem utilizar uma ferramenta como o ZAP.