
BFuzz is currently in beta.
BFuzz est un outil de fuzzing basé sur l'entrée qui prend un fichier .html en entrée, ouvre votre navigateur avec une nouvelle instance et transmet plusieurs cas de test générés par domato, présents dans le dossier recurve de BFuzz. De plus, BFuzz est une automatisation qui effectue la même tâche de manière répétée ; il ne modifie aucun cas de test.
warmachine@ftw:~/BFuzz$ ./generate.sh
warmachine@ftw:~/BFuzz$ python BFuzz.py
Enter the browser type:
1: Chrome
2: Firefox
>>
Lorsque vous exécutez python BFuzz.py, on vous demande de choisir entre fuzzer Chrome ou Firefox. Si vous sélectionnez 2, cela ouvrira Firefox (firefox --new-instance), ouvrira aléatoirement l'un des cas de test du dossier recurve, générera les logs dans le terminal, attendra 3 secondes, puis rouvrira Firefox, et le processus se répétera.
BFuzz est un petit script .py qui permet d'ouvrir un navigateur, d'exécuter un cas de test pendant 12 secondes, de le fermer, d'attendre 3 secondes, puis de répéter le même processus.
Les cas de test dans recurve sont générés par domato.
generator.py contient le script principal. Il utilise grammar.py comme bibliothèque et inclut du code supplémentaire pour le fuzzing DOM.
grammar.py contient le moteur de génération, qui est largement indépendant de l'application et peut donc être utilisé dans d'autres fuzzers (non-DOM) basés sur la génération. Comme il peut être utilisé comme une bibliothèque, son utilisation est décrite dans une section distincte ci-dessous.
Les fichiers .txt contiennent les définitions de grammaire. Il y a 3 fichiers principaux : html.txt, css.txt et js.txt, qui contiennent respectivement les grammaires HTML, CSS et JavaScript. Ces fichiers racine de grammaire peuvent inclure du contenu provenant d'autres fichiers.
Epiphany Web 3.28.1 : CVE-2018-11396, nouveau cas de test identifié pour CVE-2018-11396
Mozilla Firefox : Dépassement de tampon basé sur la pile, ID de bug : 1456083 [est devenu DOUBLON]
Fuzzing de navigateur via BFuzz
N'hésitez pas à faire une PR.
Gérer les exceptions, Ajouter une bannière, Optimiser le code, Modifier les testcases.