
XSS Fuzzer est un outil qui génère des payloads XSS basées sur des vecteurs définis par l'utilisateur et des listes de fuzzing.
XSS Fuzzer est une application simple écrite en HTML/JavaScript/CSS pur qui génère des payloads XSS basées sur des vecteurs définis par l'utilisateur, utilisant plusieurs espaces réservés qui sont remplacés par des listes de fuzzing.
Elle offre la possibilité de simplement générer les payloads sous forme de texte brut ou de les exécuter dans une iframe. Dans les iframes, il est possible d'envoyer des requêtes GET ou POST depuis le navigateur vers des URL arbitraires en utilisant les payloads générées.
XSS Fuzzer est un outil générique pouvant être utile à plusieurs fins, notamment :
Pour fuzzer, il est nécessaire de créer des espaces réservés, par exemple :
<[TAG] [ATTR]=Something [EVENT]=[SAVE_PAYLOAD] />
L'espace réservé [SAVE_PAYLOAD] sera remplacé par du code JavaScript tel que alert(unescape('[PAYLOAD]'));.
Ce code est déclenché lorsqu'une payload XSS est exécutée avec succès.
Le résultat pour les listes de fuzzing et la payload mentionnées sera le suivant :
<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')); />
Lorsqu'elle est exécutée dans un navigateur tel que Mozilla Firefox, elle affichera les payloads exécutées :
<svg src=Something onload=[SAVE_PAYLOAD] />
<svg value=Something onload=[SAVE_PAYLOAD] />
Il est possible d'utiliser une page vulnérable aux XSS pour différents tests, comme le contournement du XSS Auditor du navigateur. La page peut recevoir un paramètre GET ou POST appelé payload et affichera simplement sa valeur non échappée.
Une version en ligne est disponible à l'adresse https://xssfuzzer.com
L'application est en version bêta, elle peut donc contenir des bogues. Si vous souhaitez signaler un bogue ou faire une suggestion, vous pouvez utiliser le dépôt GitHub ou m'envoyer un email à contact [a] xssfuzzer.com.