Fusil projektet är ett Fuzzing program. För närvarande är det specifika för Linux kommandoraden program, men koden är utformad för att användas med någon typ projekt (fjärr process, falska HTTP-server, fuzz nätverksuttag, etc.). Fusil Projektet bygger på en multi-agent system i stället för en monolitisk arkitektur.
Fusil är en opensource projekt skrivet i Python under GNU GPL-licens.
Försök fusil
Gå till fusil överordnade katalogen och starta Fuzzing xterm projekt:
fusil --project projekt / xterm.py
Utgångs resultat:
$ Cd fusil
$ Fusil -p projekt / xterm.py
[Session # 1] Starta sessionen
[Process xterm] Timeout! (1,0 sekund)
(...)
[Session # 8] Starta sessionen
*** Glibc upptäckt *** / usr / bin / xterm: double gratis eller korruption (föreg!): 0x080ad2b8 ***
======= Bakåtspårning: =========
/lib/tls/i686/cmov/libc.so.6[0xb7b957cd]
(...)
[Klocka process] Process dödad av signal SIGIOT
[Session # 8] Session poäng: 100,0%
[Ansökan] Framgång med sessions # 8
Vad är nytt i den här versionen:
- Python 3 stöd
- fusil-python:
- förbättra funktionen som listar alla Python-moduler: använd sys.builtin_module_names och pkgutil.iter_modules ()
- Blockera fler moduler, klasser och funktioner
Vad är nytt i version 1.3.2:
- replay.py: ställ sys.path för att underlätta användningen av Fusil utan att installera det
- Fix fusil-gettext: ignorera strace fel i locateMO ()
- fusil-python:
- dölja Python varningar
- listAllModules () omfattar BUILTIN moduler
- nytt alternativ --only-c för att testa bara moduler skrivna i C
- fix minnesläcka: avlastnings testade moduler
- fix getFunctions (): användning isclass också () för att upptäcka klasser
- Inaktivera Fusil process maximala minnesgränsen
Vad är nytt i version 1.3.1:
- fusil-python: automatisk upptäckt alla moduler istället för att använda en statisk lista med moduler, fånga något undantag när du fyller en modul, fuzz bara offentliga funktioner (användningsmodul .__ alla __)
- FileWatch: ignorera dubbla delar på session byta namn
- Ta bort sessionsnamn delar duplicera (t.ex. & quot;. Pickle-error-error & quot; = & gt; & quot; datumväljare-error & quot;)
- replay.py: inte omdirigera stdin till / dev / null om --ptrace används
- CPU sond: max inställd varaktighet från 3 till 10 sekunder (och byta namn på sessionen på framgång)
Vad är nytt i version 1.3:
- Skapa fusil-gimp
- Ta bort charset från WriteCode: Använd inbyggda open () i stället codecs.open () eftersom filer som skapats av open () är mycket snabbare
- Optimera FileWatch: inte kompilera mönster vid varje session
- fusil beror nu på python-ptrace 0,6
- Använd inte close_fds argument subprocess.Popen () i Windows
- Fix konfiguration läsare: normal_calm_load, normal_calm_sleep, slow_calm_load, slow_calm_sleep nycklar globala alternativ är flyta, inte heltal
- FileWatch använder mönstret att byta namn på sessionen
Vad är nytt i version 1.2.1:
- Fix mangeln agent bild Magick fuzzer
- Fix AttachProcessPID () sond: stoppa sonden vid processavslutning
Vad är nytt i version 1.2:
- Användar synliga förändringar:
- Fusil kräver nu Python 2.5
- Dokumentation: skriva ett index (index.rst) och en instruktionsboken (usage.rst)
- Replay manus: kopiera HOME miljö för GDB och fånga setuid () fel
- fusil-firefox: stödja fler filformat (bmp, gif, ico, png, svg), skapa --test kommandoraden, skriver HTML-sidan i index.html fil
- fusil-python: skrivfel till stderr (istället för standard ut) för att undvika unicode fel (särskilt med python3)
- FileWatch: byta namn på sessionen med & quot; long_output & quot; om programmet skrev mer än max_nbline linjer
- fusil-python: blacklist posix.fork () för att undvika falska positiva
- Om processen dödas av en signal, byta namn på sessionen med hjälp av signalnamn (redan arbetat om debugger var funktionshindrade)
- Utvecklare ändringar:
- MangleAgent stöder flera indatafiler
- Skapa DummyMangle: agent med MangleFile API men inte röra innehållsfil att testa fuzzer
- Nätverk: nära () metod för NetworkClient och Serverclient användning avstängning (SHUT_RDWR)
- NetworkServer använder en eftersläpning av 5 klienter för socket.listen () (i stället för 1)
- Buggfixar:
- Fix Directory.rmtree () och replay script för Python 3.0
- Fix ServerClient.sendBytes (): användning socket.send () resultat för att få nästa data offset
Vad är nytt i version 1.0 Final:
- Den här utgåvan innehåller vlc och zzuf fuzzers, en repris. py manus med många alternativ (t.ex. --valgrind), och en --force-osäkra alternativet (som --unsafe men utan bekräftelse).
- Den använder alltid en noll anordning som stdin för barn processer för att undvika att blockera fuzzer om processen läser stdin.
- Den skapade processidentifieraren skrivs i loggarna.
Vad är nytt i version 1.0 Beta 3:
- Sessionen döps med hjälp av processavslutning status ( exit kod eller signal). Utförande framsteg visas.
- Det totala antalet processer är begränsad (för att skydda mot gaffel bomber) och en kärndump är tillåtet.
- Bugs införts av användarbyte har fastställts.
- Kompatibilitet med Python 3000 och FreeBSD förbättrades.
Krav :
- Python
- GCC
Kommentarer hittades inte