kitty.fuzzers.client module

This module contains the ClientFuzzer class.

class kitty.fuzzers.client.ClientFuzzer(name='ClientFuzzer', logger=None, option_line=None)[source]

Bases: kitty.fuzzers.base.BaseFuzzer

ClientFuzzer is designed for fuzzing clients. It does not preform an active fuzzing, but rather returns a mutation of a response when in the right state. It is designed to be a module that is integrated into different stacks.

You can see its usahe examples in the following places:

  • examples/02_client_fuzzer_browser_remote
  • examples/03_client_fuzzer_browser
STAGE_ANY = '******************'
__init__(name='ClientFuzzer', logger=None, option_line=None)[source]
Parameters:
  • name – name of the object
  • logger – logger for the object (default: None)
  • option_line – cmd line options to the fuzzer
get_mutation(stage, data)[source]

Get the next mutation, if in the correct stage

Parameters:
  • stage – current stage of the stack
  • data – a dictionary of items to pass to the model
Returns:

mutated payload if in apropriate stage, None otherwise

is_done()[source]

check if fuzzer is done fuzzing

Returns:True if done
stop()[source]

Stop the fuzzing session

wait_until_done()[source]

wait until fuzzer is done