Projekt Fusil je fuzzing programu. V současné době, to je specifická pro programy povelových Linux řádku, ale kód je určen pro použití s libovolným typem projektu (vzdáleného procesu, falešný HTTP serveru, fuzz síťové zásuvky, atd). Projekt fusil je založen na multiagentního systému namísto monolitického architektury.
Fusil je opensource projekt napsaný v Pythonu pod GNU GPL licencí.
Zkuste Fusil
Přejděte na Fusil nadřazeného adresáře a začít fuzzing xterm projektu:
Fusil --project projekt / xterm.py
Výstup Výsledek:
$ Cd Fusil
$ Fusil -p projekt / xterm.py
[Session # 1] Spustit relaci
[Proces xterm] Timeout! (1,0 sekundy)
(...)
[Session # 8] Spustit relaci
*** Glibc zjištěna *** / usr / bin / xterm: double zdarma nebo korupce (předchozí!): 0x080ad2b8 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb7b957cd]
(...)
[Watch proces] Proces byl zabit signálem SIGIOT
[Session # 8] Session skóre: 100,0%
[Žádost] Úspěch s relace # 8
Co je nového v této verzi:
- Python 3 podpora
- fusil-python:
- zlepšení funkce se seznamem všech modulů Pythonu: používat sys.builtin_module_names a pkgutil.iter_modules ()
- blacklist další moduly, třídy a funkce
Co je nového ve verzi 1.3.2:
- replay.py: nastavena sys.path zmírnit použití fusil bez instalace
- Fix fusil-gettext: ignorovat strace chyby v locateMO ()
- fusil-python:
- upozornění skrýt Python
- listAllModules () zahrnuje BUILTIN moduly
- Nová možnost --only-c testovat pouze moduly napsané v C
- nevracení paměti Oprava: Unload testovány moduly
- fix getFunctions (): použití i isclass () pro detekci třídy
- mez Disable Fusil proces maximální paměť
Co je nového ve verzi 1.3.1:
- fusil-python: autodiscover všech modulů namísto použití statický seznam modulů, zachytit jakoukoli výjimku při načítání modulu, Fuzz pouze veřejné funkce (použití modul .__ vše __)
- FileWatch: ignorovat duplicitních díly na zasedání přejmenování
- Odstranit Session Name díly duplikovat (např & quot;. Nálev-error-chybu & quot; = & gt; & quot; picke-chyba & quot;)
- replay.py: ne přesměrovat stdin na / dev / null, pokud --ptrace je použit
- CPU sonda: Maximální délka set 3-10 sekundy (a přejmenovat zasedání na úspěch)
Co je nového ve verzi 1.3:
- Vytvořit fusil-gimp
- Odstranit znakovou sadu ze WriteCode: používat zabudovaná open () namísto codecs.open (), protože soubory vytvořené open () jsou mnohem rychlejší
- Optimalizovat FileWatch: nemusíte překompilovat vzory na každé zasedání
- fusil nyní závisí na python-ptrace 0,6
- Nepoužívejte close_fds argumentu subprocess.Popen () na Windows
- konfigurace Fix Reader: normal_calm_load, normal_calm_sleep, slow_calm_load, slow_calm_sleep klíče globální možnosti float, ne celé číslo
- FileWatch používá vzor přejmenovat relace
Co je nového ve verzi 1.2.1:
- Fix mandlovnu činidlo Image Magick fuzzer
- Fix AttachProcessPID () sondy: zastavte sondu na ukončení procesu
Co je nového ve verzi 1.2:
- Uživatelské viditelné změny:
- Fusil nyní vyžaduje Python 2.5
- Documentation: napsat index (index.rst) a uživatelskou příručku (usage.rst)
- Replay scénář: kopírovat domácí prostředí pro GDB a chytit setuid () Chyba
- fusil-firefox: podporuje více formátů souborů (BMP, GIF, ICO, PNG, SVG), vytvořit --test možnost příkazového řádku, psát stránku HTML do souboru index.html
- fusil-python: napsat chyby na stderr (namísto stdout), aby nedošlo k chybě v Unicode (zejména s Python3)
- FileWatch: přejmenovat relaci s & quot; long_output & quot; pokud program psal více než max_nbline řádků
- fusil-python: blacklist posix.fork (), aby se zabránilo falešně pozitivní
- Pokud proces je zabit signálem, přejmenujte relace pomocí názvu signálu (již pracoval-li ladicí byl zakázán)
- změny Developer:
- MangleAgent podporuje vícenásobné vstupní soubory
- Vytvořit DummyMangle: agent s MangleFile API, ale nedotýkejte se obsah souboru otestovat fuzzer
- Network: close () metoda NetworkClient a vypnutí použití ServerClient (SHUT_RDWR)
- NetworkServer používá nevyřízených 5 klientů pro socket.listen () (místo 1)
- Opravy chyb:
- Fix Directory.rmtree () a odvetnou skript pro Python 3.0
- Fix ServerClient.sendBytes (): použití socket.send () výsledek získat další údaje offset
Co je nového ve verzi 1.0 Final:
- Tato verze přidává VLC a zzuf fuzzers, přehrávku. py skript s mnoha možnostmi (např --valgrind), a možnost --force-nebezpečné (jako --unsafe, ale bez potvrzení).
- Je vždy používá null zařízení jako standardního vstupu pro podřízené procesy, aby se zabránilo blokování fuzzer, pokud proces čte stdin.
- identifikátor vytvořený proces je napsáno v protokolech.
Co je nového ve verzi 1.0 Beta 3:
- relace je přejmenována pomocí stav ukončení procesu ( exit code nebo signál). Zobrazí se průběh exekuce.
- Celkový počet procesů je omezen (k ochraně proti vidlice bomby) a core dump je povoleno.
- Bugs zavedené přepínání uživatelů byly stanoveny.
- Kompatibilita s Python 3000 a FreeBSD byla zlepšena.
Požadavky na :
- Python
- GCC
Komentáře nebyl nalezen