Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support generative fuzzers #6

Open
dobin opened this issue Jan 15, 2018 · 3 comments
Open

Support generative fuzzers #6

dobin opened this issue Jan 15, 2018 · 3 comments

Comments

@dobin
Copy link
Owner

dobin commented Jan 15, 2018

Currently FFW only supports mutation fuzzers, which are based on prerecorded data from the interceptor.

It should also support generative fuzzers, which do not have prerecorded data.

  • Add fuzzer definition which indicates mutation/generation
  • Ignore missing data_*.pickle files if generation
@dobin
Copy link
Owner Author

dobin commented Jan 15, 2018

This includes:

Add option "type": "gen"/"mut" to fuzzer definitions:

Handle the type in fuzzingiterationdata::fuzzData(). If "gen":

Remove hardcodet checks to load pickle file if selected fuzzer is "gen":

Do the same also for honggmode in honggmode. But note it re-uses fuzzingiterationdata.py from fuzzer/.

warsang added a commit to warsang/ffw that referenced this issue Jan 22, 2018
- Readme.md : Linked the grammar based fuzzer tutorial
- docs/tutorial-grammar-based.md : Added the grammar based fuzzer tutorial for Dharma
- fuzzer/fuzzer_list.py : Created a py file to have the fuzzer list there (easy config)
- fuzzer/fuzzingiterationdata.py : Changes for issue 6
- fuzzer/fuzzingmaster.py : Changes for issue 6
- fuzzer/fuzzingslave.py : Changes for issue 6
- template/fuzzing.py : Added the grammars file to fuzzing.py
@dobin
Copy link
Owner Author

dobin commented Jan 24, 2018

The first idea, as depicted here and implemented in 1bd4393 was not a good idea. 4e9e5b3 fixes it partially.

I just created a fake network message structure (data.pickle) in fuzzingmaster.py. This has the advantage that most of the other code can stay the same (for gen/mut fuzzers).

Open tasks:

  • honggmode integration
  • some sort of unit-test (vulnserver?)
  • better usability (1)

(1) Usability is the wrong word, but the user currently has no way of specifying when the generated data is sent. Should FFW read first, and then sent the generated data, or the other way round? Should message nummero 8 be replaced with some generated XML? All this is not possible atm.

@dobin
Copy link
Owner Author

dobin commented Jun 4, 2018

Note: Fenrir broke generative fuzzers, i think. I'll either remove it completely, or re-active it later.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant