Fusil Projekt ist ein Fuzzing-Programm. Derzeit ist es speziell für Linux-Befehlszeile-Programme, aber der Code wurde entwickelt, um bei jedem Projekt-Typ (Remote-Prozess, fake-HTTP-Server, Fuzz-Netzwerkbuchse, etc.) verwendet werden. Fusil Projekt auf einem Multi-Agentensystem anstelle eines monolithischen Architektur.
Fusil ist ein Opensource-Projekt in Python unter der GNU-GPL-Lizenz geschrieben.
Try fusil
Zum fusil übergeordnete Verzeichnis und starten Sie Fuzzing xterm Projekt:
fusil --project Projekt / xterm.py
Ausgabeergebnis:
$ Cd fusil
$ Fusil -p Projekt / xterm.py
[Session # 1] Sitzung starten
[Ein xterm] Timeout! (1,0 Sekunden)
(...)
[Session # 8] Sitzung starten
*** Glibc erkannt *** / usr / bin / xterm: Doppel kostenlos oder Korruption (i!): 0x080ad2b8 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb7b957cd]
(...)
[Uhr Prozess] Prozess durch Signal SIGIOT getötet
[Session # 8] Session-Score: 100,0%
[Anwendung] Success mit Session # 8
Was ist neu in dieser Pressemitteilung:
- Python 3 Unterstützung
- fusil-python:
- Verbesserung der Funktion in dem alle Python-Module: Verwenden sys.builtin_module_names und pkgutil.iter_modules ()
- Blacklist mehr Module, Klassen und Funktionen
Was ist neu in Version 1.3.2:
- replay.py: set sys.path zu erleichtern die Verwendung von Fusil ohne Installation
- Fix fusil-gettext: ignorieren strace Fehler in locateMO ()
- fusil-python:
- hide Python Warnungen
- listAllModules () enthält eingebaute Module
- neue Option --only-c nur Module in C geschrieben, um zu testen
- fix Speicherverlust: unload getesteten Module
- fix getFunctions (): Verwendung IsClass auch (), um Klassen zu erkennen
- Deaktivieren Fusil Prozess maximale Speichergrenze
Was ist neu in Version 1.3.1:
- fusil-python: Autoermittlung aller Module anstelle von eine statische Liste der Module, fangen jede Ausnahme beim Laden eines Moduls, fäserchen einzige öffentliche Funktionen (Verwendung Modul .__ alle __)
- Filewatch: ignorieren doppelten Teile auf Sitzung Umbenennen
- Entfernen Sitzungsnamen Teile duplizieren (zB & quot;. Pickle-error-error & rdquo; = & gt; & quot; picke-Fehler & quot;)
- replay.py: nicht stdin umgeleitet werden, um / dev / null, wenn --ptrace verwendet wird
- CPU-Sonde: set max Laufzeit von 3 bis 10 Sekunden (und benennen Sie die Sitzung auf Erfolg)
Was ist neu in der Version 1.3:
- Erstellen fusil-gimp
- Entfernen charset aus WriteCode: Verwenden builtin open () statt codecs.open (), weil Dateien, die von open () sind viel schneller
- Optimize Filewatch: nicht Muster neu kompilieren bei jeder Sitzung
- fusil hängt nun von python-ptrace 0,6
- Verwenden Sie keine close_fds Argument subprocess.Popen () unter Windows
- Fix Konfiguration Leser: normal_calm_load, normal_calm_sleep, slow_calm_load, slow_calm_sleep Tasten globalen Optionen sind Schwimmer, nicht integer
- Filewatch nutzt das Muster um die Sitzung zu benennen
Was ist neu in Version 1.2.1:
- Fix mangle Mittel der Bild Magick fuzzer
- Fix AttachProcessPID () Sonde: stoppen Sie die Sonde am Prozess Ausfahrt
Was ist neu in der Version 1.2:
- Benutzer sichtbare Änderungen:
- Fusil erfordert jetzt Python 2.5
- Dokumentation: Schreiben Sie einen Index (index.rst) und eine Anleitung (usage.rst)
- Replay-Skript: Kopieren HOME Umgebung für GDB und fangen setuid () Fehler
- fusil-firefox: unterstützt mehr Dateiformate (BMP, GIF, ICO, PNG, SVG), zu erstellen --test Befehlszeilenoption, schreiben Sie die HTML-Seite in die Datei index.html
- fusil-python: Fehler auf stderr (anstatt stdout) in Unicode-Fehler (vor allem mit Python3) zu vermeiden schreiben
- Filewatch: benennen Sie die Sitzung mit & quot; long_output & quot; wenn das Programm schrieb mehr als max_nbline Linien
- fusil-python: Blacklist posix.fork (), um falsch positive vermeiden
- Wenn der Prozess wird durch ein Signal getötet, benennen Sie die Sitzung mit dem Signalnamen (arbeitete bereits, wenn der Debugger deaktiviert war)
- Entwickler Änderungen:
- MangleAgent unterstützt mehrere Eingabedateien
- Erstellen DummyMangle: Agenten mit MangleFile API aber Datei-Inhalt, um den fuzzer testen berühren Sie nicht
- Netzwerk: close () -Methode von Networkclient und Serverclient Verwendung shutdown (SHUT_RDWR)
- Networkserver verwendet einen Rückstand von 5 Kunden socket.listen () (statt 1)
- Bugfixes:
- Fix Directory.rmtree () und Replay-Skript für Python 3.0
- Fix ServerClient.sendBytes (): Verwendung socket.send () Ergebnis um die nächsten Daten-Offset
Was ist neu in der Version 1.0 für Endmaterial:
- In dieser Version vlc und zzuf Fuzzer, eine Wiederholung. py-Skript mit vielen Optionen (zB --valgrind) und einem unsicheren --force-Option (wie --unsafe aber ohne die Bestätigung).
- Er verwendet immer einen Null-Gerät als Standardeingabe für zu vermeiden, untergeordnete Prozesse Blockierung der fuzzer wenn der Prozess liest die Standardeingabe.
- Die erstellte Prozess-ID wird in die Archive geschrieben.
Was ist neu in der Version 1.0 Beta 3:
- Die Sitzung wird unter Verwendung des Verfahrens Exit-Status umbenannt ( Exit-Code oder Signal). Ausführungsfortschritt wird angezeigt.
- Die Gesamtzahl der Prozesse ist begrenzt (gegen Gabel Bomben zu schützen) und ein Core-Dump ist erlaubt.
- Bugs vom Anwender Schalt eingeführt wurden behoben.
- Die Kompatibilität mit Python 3000 und FreeBSD wurde verbessert.
Anforderungen :
- Python
- GCC
Kommentare nicht gefunden