
BFuzz is currently in beta.
BFuzz ist ein eingabebasiertes Fuzzer-Tool, das .html als Eingabe nimmt, einen neuen Browser-Instanz öffnet und mehrere Testfälle übergibt, die von Domato generiert wurden. Diese befinden sich im recurve-Ordner von BFuzz. Darüber hinaus ist BFuzz eine Automatisierung, die dieselbe Aufgabe wiederholt ausführt und keine Testfälle verändert.
warmachine@ftw:~/BFuzz$ ./generate.sh
warmachine@ftw:~/BFuzz$ python BFuzz.py
Enter the browser type:
1: Chrome
2: Firefox
>>
Das Ausführen von python BFuzz.py fragt nach der Option, ob Chrome oder Firefox gefuzzt werden soll. Wenn 2 ausgewählt wird, öffnet dies Firefox (firefox --new-instance) und öffnet zufällig einen der Testfälle aus recurve, erstellt die Logs im Terminal, wartet 3 Sekunden, öffnet erneut Firefox und derselbe Prozess wiederholt sich.
BFuzz ist ein kleines .py-Skript, das den Browser öffnet, den Testfall für 12 Sekunden ausführt, dann schließt, 3 Sekunden wartet und denselben Prozess erneut durchführt.
Die Testfälle in recurve werden von domato generiert.
generator.py enthält das Hauptskript. Es verwendet grammar.py als Bibliothek und enthält zusätzlichen Hilfscode für DOM-Fuzzing.
grammar.py enthält die Generierungs-Engine, die weitgehend anwendungsunabhängig ist und daher in anderen (d.h. nicht-DOM) generierungsbasierten Fuzzern verwendet werden kann. Da es als Bibliothek verwendet werden kann, wird seine Verwendung in einem separaten Abschnitt unten beschrieben.
.txt-Dateien enthalten Grammatikdefinitionen. Es gibt 3 Hauptdateien: html.txt, css.txt und js.txt, die jeweils HTML-, CSS- und JavaScript-Grammatiken enthalten. Diese Hauptgrammatikdateien können Inhalte aus anderen Dateien einbinden.
Epiphany Web 3.28.1: CVE-2018-11396, neuer Testfall für CVE-2018-11396 identifiziert
Mozilla Firefox: Stack-basierter Pufferüberlauf Bug-ID: 1456083 [Als DUPLIKAT eingestuft]
Bitte erstelle gerne einen Pull Request.