Fusil project is een fuzzing programma. Op dit moment, het is specifiek voor Linux command line programma's, maar de code is ontworpen om gebruikt te worden met elk project type (remote proces, fake HTTP server, fuzz netwerk socket, etc.). Fusil project is gebaseerd op een multi-agentsysteem plaats van een monolitische architectuur.
Fusil is een opensource project geschreven in Python onder de GNU GPL licentie.
Probeer fusil
Ga naar fusil bovenliggende directory en start fuzzing xterm project:
fusil --project project / xterm.py
Output resultaat:
$ Cd fusil
$ Fusil -p project / xterm.py
[Sessie # 1] Start sessie
[Proces xterm] Time-out! (1,0 seconde)
(...)
[Sessie # 8] Start sessie
*** Glibc gedetecteerd *** / usr / bin / xterm: double gratis of corruptie (prev!): 0x080ad2b8 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb7b957cd]
(...)
[Horloge proces] Process gedood door signaal SIGIOT
[Sessie # 8] Session score: 100,0%
[Toepassing] Succes met sessie # 8
Wat is nieuw in deze release:
- Python 3 support
- fusil-python:
- verbeteren van de functie een lijst van alle Python modules: gebruik sys.builtin_module_names en pkgutil.iter_modules ()
- de zwarte lijst meer modules, klassen en functies
Wat is nieuw in versie 1.3.2:
- replay.py: ingesteld sys.path te verlichten het gebruik van Fusil zonder het te installeren
- Fix fusil-gettext: negeer strace fouten in locateMO ()
- fusil-python:
- verberg Python waarschuwingen
- listAllModules () bevat ingebouwde modules
- nieuwe optie --only-c om alleen modules geschreven in C testen
- fix geheugenlek: lossen getest modules
- fix getFunctions (): gebruik isclass ook () om lessen te sporen
- Uitschakelen Fusil proces maximale geheugen limiet
Wat is nieuw in versie 1.3.1:
- fusil-python: autodiscover alle modules in plaats van het gebruik van een statische lijst met modules, vangen geen uitzondering bij het laden van een module, dons enige openbare functies (gebruik module .__ alle __)
- FileWatch: negeer dubbele delen on sessie hernoemen
- Verwijder sessie naam delen dupliceren (bijvoorbeeld & quot;. Augurk-error-error & quot; = & gt; & quot; picke-error & quot;)
- replay.py: do stdin niet omleiden naar / dev / null als --ptrace wordt gebruikt
- CPU sonde: set max duur van 3 tot 10 seconden (en de naam van de sessie op het succes)
Wat is nieuw in versie 1.3:
- Maak fusil-gimp
- Verwijder karakterset uit WriteCode: gebruik ingebouwde open () in plaats codecs.open (), omdat bestanden die door open () zijn veel sneller
- Optimaliseren FileWatch: niet patronen recompile bij elke sessie
- fusil hangt nu af van python-ptrace 0,6
- Heeft close_fds argument van subprocess.Popen () op Windows geen gebruik
- Fix configuratie lezer: normal_calm_load, normal_calm_sleep, slow_calm_load, slow_calm_sleep sleutels globale opties zijn float, niet integer
- FileWatch maakt gebruik van het patroon om de sessie te hernoemen
Wat is nieuw in versie 1.2.1:
- Fix mangel agent van de Image Magick fuzzer
- Fix AttachProcessPID () sonde: stop de sonde op procesniveau afslag
Wat is nieuw in versie 1.2:
- Gebruikers zichtbare veranderingen:
- Fusil vereist nu Python 2.5
- Documentatie: schrijf een index (index.rst) en een handleiding (usage.rst)
- Replay script: kopiëren HOME omgeving voor GDB en vangen setuid () fout
- fusil-firefox: ondersteuning meer bestandsformaten (bmp, gif, ico, png, svg), creëren --test command line optie, schrijf de HTML-pagina in index.html bestand
- fusil-python: schrijf fouten naar stderr (in plaats van stdout) naar unicode fout (vooral met python3) voorkomen
- FileWatch: de naam van de sessie met & quot; long_output & quot; als het programma schreef meer dan max_nbline lijnen
- fusil-python: blacklist posix.fork () om vals positieve vermijden
- Als het proces wordt gedood door een signaal, de naam van de sessie met de naam signaal (al gewerkt als de debugger was uitgeschakeld)
- Developer veranderingen:
- MangleAgent ondersteunt meerdere input-bestanden
- Maak DummyMangle: agent met MangleFile API maar bestand inhoud aan de fuzzer testen niet aanraken
- Netwerk: close () methode van NetworkClient en ServerClient gebruik shutdown (SHUT_RDWR)
- NetworkServer maakt gebruik van een achterstand van 5 klanten voor socket.listen () (in plaats van 1)
- Bugfixes:
- Fix Directory.rmtree () en replay script voor Python 3.0
- Fix ServerClient.sendBytes (): gebruik socket.send () resultaat te krijgen van de volgende data offset
Wat is nieuw in versie 1.0 Final:
- Deze release voegt vlc en zzuf fuzzers, een replay. py script met vele opties (bijv --valgrind), en een optie --force-onveilige (zoals --unsafe maar zonder de bevestiging).
- Het gebruikt altijd een null-apparaat als stdin voor kind processen om te voorkomen dat het blokkeren van de fuzzer als het proces leest stdin.
- De gemaakte proces-id is geschreven in de logboeken.
Wat is nieuw in versie 1.0 Beta 3:
- De sessie wordt omgedoopt tot het gebruik van het proces exit status ( exit-code of signaal). Uitvoering voortgang wordt weergegeven.
- Het totaal aantal processen is beperkt (als bescherming tegen fork bommen) en een kern dump toegestaan.
- Bugs ingevoerd door de gebruiker schakelen werden vastgesteld.
- Compatibiliteit met Python 3000 en FreeBSD werd verbeterd.
Eisen
- Python
- GCC
Reacties niet gevonden