Fusil prosjektet er et fuzzing program. Foreløpig er det bestemt å Linux kommandolinjeprogrammer, men koden er designet for å brukes med alle prosjekttype (ekstern prosess, falske HTTP server, fuzz nettverkskontakt, etc.). Fusil Prosjektet er basert på en multi-agent system i stedet for et monolittisk arkitektur.
Fusil er en opensource prosjekt skrevet i Python under GNU GPL lisens.
Prøve Fusil
Gå til Fusil ordnede katalogen og starte fuzzing xterm prosjektet:
Fusil --project prosjekt / xterm.py
Utgang resultat:
$ Cd Fusil
$ Fusil -p prosjekt / xterm.py
[Sesjon # 1] Start-økt
[Prosess xterm] Timeout! (1,0 sekund)
(...)
[Sesjon # 8] Start-økt
*** Glibc oppdaget *** / usr / bin / xterm: dobbelt gratis eller korrupsjon (forrige!): 0x080ad2b8 ***
======= Tilbakesporing: =========
/lib/tls/i686/cmov/libc.so.6[0xb7b957cd]
(...)
[Watch prosessen] Prosess drept av signal SIGIOT
[Sesjon # 8] Session poengsum: 100.0%
[Søknad] Suksess med sesjon # 8
Hva er nytt i denne versjonen:
- Python tre støtte
- Fusil-python:
- bedre funksjon som viser alle Python-moduler: Bruk sys.builtin_module_names og pkgutil.iter_modules ()
- svarteliste flere moduler, klasser og funksjoner
Hva er nytt i versjon 1.3.2:
- replay.py: set sys.path å lette bruken av Fusil uten å installere det
- Fix Fusil-gettext: ignore strace feil i locateMO ()
- Fusil-python:
- hide Python advarsler
- listAllModules () omfatter builtin moduler
- nytt alternativ --only-c for å teste bare moduler skrevet i C
- fix minnelekkasje: unload testet moduler
- fix getFunctions (): bruk isclass også () for å oppdage klasser
- Deaktiver Fusil prosessen maksimal minnegrensen
Hva er nytt i versjon 1.3.1:
- Fusil-python: autosøk alle moduler i stedet for å bruke en statisk liste over moduler, fange noe unntak når du legger en modul, fuzz kun offentlige funksjoner (bruk modul .__ all __)
- FileWatch: ignorere like deler på sesjon endre navn
- Fjern session name deler duplisere (f.eks & quot;. Pickle-feil-feil & quot; = & gt; & quot; picke-feil & quot;)
- replay.py: ikke omdirigere stdin til / dev / null hvis --ptrace brukes
- CPU probe: set max varighet fra 3 til 10 sekunder (og endre navn på økten på suksess)
Hva er nytt i versjon 1.3:
- Lag Fusil-innleggs
- Fjern charset fra WriteCode: Bruk innebygd open () i stedet codecs.open () fordi filer laget av open () er mye raskere
- Optimize FileWatch: ikke rekompilere mønstre på hver økt
- Fusil avhenger nå av python-ptrace 0.6
- Ikke bruk close_fds argument for subprocess.Popen () på Windows
- Fix konfigurasjon leser: normal_calm_load, normal_calm_sleep, slow_calm_load, slow_calm_sleep nøkler globale alternativer er float, ikke heltall
- FileWatch bruker mønsteret for å endre navn økten
Hva er nytt i versjon 1.2.1:
- Fix mangle agent for bilde Magick fuzzer
- Fix AttachProcessPID () probe: stoppe sonden på prosessavslutning
Hva er nytt i versjon 1.2:
- Bruker synlige endringer:
- Fusil krever nå Python 2.5
- Dokumentasjon: skrive en indeks (index.rst) og en bruksanvisning (usage.rst)
- Replay script: kopiere HOME miljø for GDB og fange setuid () error
- Fusil-firefox: støtter flere filformater (bmp, gif, ico, png, SVG), lage --test kommandolinjealternativet, skrive HTML-siden til index.html fil
- Fusil-python: skrive feil til stderr (i stedet for standard ut) for å unngå unicode feil (spesielt med Python3)
- FileWatch: endre navn på økten med & quot; long_output & quot; hvis programmet skrev mer enn max_nbline linjer
- Fusil-python: svarteliste posix.fork () for å unngå falske positive
- Hvis prosessen blir drept av et signal, endre navn på skjermen ved navn signalet (allerede jobbet hvis debugger var deaktivert)
- Utvikler endringer:
- støtter MangleAgent flere innspill filer
- Opprett DummyMangle: agent med MangleFile API, men ikke røre filinnhold å teste fuzzer
- Nettverk: close () metode for NetworkClient og Serverclient bruk nedleggelse (SHUT_RDWR)
- NetworkServer bruker en backlog av fem klienter for socket.listen () (istedenfor 1)
- Bugfikses:
- Fix Directory.rmtree () og replay script for Python 3.0
- Fix ServerClient.sendBytes (): bruk socket.send () resultat for å få de neste data offset
Hva er nytt i versjon 1.0 Slutt:
- Denne utgivelsen legger vlc og zzuf fuzzers, en reprise. py script med mange alternativer (f.eks --valgrind), og en force-usikre alternativet (som --unsafe men uten bekreftelse).
- Den bruker alltid en null enhet som stdin for barn prosesser for å unngå blokkering fuzzer hvis prosessen leser stdin.
- Den opprettede prosess identifikator er skrevet i loggene.
Hva er nytt i versjon 1.0 Beta 3:
- Den økten er omdøpt bruke prosessen exit status ( exit-kode eller signal). Execution fremgang vises.
- Det totale antall prosesser er begrenset (for å beskytte mot gaffel bomber) og en kjerne dump er tillatt.
- Bugs introdusert av brukerbytte ble fikset.
- Kompatibilitet med Python 3000 og FreeBSD ble forbedret.
Krav
- Python
- GCC
Kommentarer ikke funnet