A Fuzzer implementation in Rust following the guidelines exposed in https://www.fuzzingbook.org/.
- Install
rustc
andcargo
(it can be done using the rustup script); - Compile your fuzzy target using
gcc
and the--coverage
flag:
$ cd fuzzy_targets
$ gcc --coverage -o cgi_decode cgi_decode.c
$ cd ..
- Build...
$ cargo update
$ cargo build
- .. and fuzz :)
# Check for required and available parameters
$ cargo run -- --help
# Example: Fuzz the "cgi_decode" target choosing a "boosted_greybox" strategy running 200 trials and using "http://google.com/search?q=foo" as the initial seed
$ cargo run -- -i cgi_decode/cgi_decode -f boosted_greybox -t 200 -s "http://google.com/search?q=foo"