
XSS Fuzzer é uma ferramenta que gera payloads XSS baseados em vetores definidos pelo usuário e listas de fuzzing.
O XSS Fuzzer é uma aplicação simples escrita em HTML/JavaScript/CSS puro que gera payloads XSS com base em vetores definidos pelo usuário usando múltiplos placeholders que são substituídos por listas de fuzzing.
Ele oferece a possibilidade de apenas gerar os payloads como texto simples ou executá-los dentro de um iframe. Dentro de iframes, é possível enviar requisições GET ou POST do navegador para URLs arbitrárias usando payloads gerados.
O XSS Fuzzer é uma ferramenta genérica que pode ser útil para múltiplos propósitos, incluindo:
Para fuzzar, é necessário criar placeholders, por exemplo:
<[TAG] [ATTR]=Something [EVENT]=[SAVE_PAYLOAD] />
O placeholder [SAVE_PAYLOAD] será substituído por código JavaScript como alert(unescape('[PAYLOAD]'));.
Este código é acionado quando um payload XSS é executado com sucesso.
O resultado para as listas de fuzzing e payload mencionados será o seguinte:
<svg src=Something onerror=alert(unescape('%3Csvg%20src%3DSomething%20onerror%3D%5BSAVE_PAYLOAD%5D%20/%3E')); />
<svg value=Something onerror=alert(unescape('%3Csvg%20value%3DSomething%20onerror%3D%5BSAVE_PAYLOAD%5D%20/%3E')); />
<svg src=Something onload=alert(unescape('%3Csvg%20src%3DSomething%20onload%3D%5BSAVE_PAYLOAD%5D%20/%3E')); />
<svg value=Something onload=alert(unescape('%3Csvg%20value%3DSomething%20onload%3D%5BSAVE_PAYLOAD%5D%20/%3E')); />
Quando executado em um navegador como Mozilla Firefox, ele alertará os payloads executados:
<svg src=Something onload=[SAVE_PAYLOAD] />
<svg value=Something onload=[SAVE_PAYLOAD] />
É possível usar uma página vulnerável a XSS para diferentes testes, como bypasses do Auditor XSS do navegador. A página pode receber um parâmetro GET ou POST chamado payload e apenas exibirá seu valor sem escape.
Uma versão ao vivo pode ser encontrada em https://xssfuzzer.com
A aplicação está em estado beta, então pode ter bugs. Se você gostaria de reportar um bug ou fornecer uma sugestão, pode usar o repositório do GitHub ou enviar um e-mail para contact [a] xssfuzzer.com.