Classification of fuzzers
Many classifications exist for fuzzing based on target, attack vectors used, and fuzzing method. Fuzzing targets include file formats, network protocols, command-line arguments, environment variables, web applications, and many others. Fuzzing can be broadly categorized based on the way test cases are generated. They are mutation fuzzing (dump) and generation fuzzing (intelligent).
Mutation (dump) fuzzers
A fuzzer that creates completely random input is known as a mutation or dump fuzzer. This type of fuzzer mutates the existing input value blindly. But it lacks an understandable format or structure of the data. For example, it can be replacing or appending a random slice of data to the desired input.
Generation (intelligent) fuzzers
Generation fuzzers create inputs from scratch rather than mutating existing input. So, it requires some level of intelligence in order to generate input that makes at least some sense to the target application.
In contrast to mutation fuzzers...