fuzzing.fuzzer¶
Fuzzing of a single HTTP request.
- class asdfuzz.fuzzing.fuzzer.Fuzzer(request: Request, payloads: List[str], output_directory: Path, skip_current_shared: Value, delay: float = 0, fuzz_directories: bool = True, fuzz_parameters: bool = True, fuzz_cookies: bool = True, fuzz_form_data: bool = True, fuzz_json_data: bool = True, original_time: float | None = None, original_header_size: int | None = None, original_data_size: int | None = None)¶
Bases:
objectConfigurable fuzzer for a HTTP request
request.- delay: float = 0¶
Delay between requests in seconds, excluding the duration of the request itself.
- classmethod from_file(request: Request, filename: Path, output_directory: Path, fuzz_directories: bool, fuzz_parameters: bool, fuzz_cookies: bool, fuzz_form_data: bool, fuzz_json_data: bool, delay: float, skip_current_shared: Value) Fuzzer¶
Loads payloads from a file
filenameand returns aFuzzerobject. Besidesfilename,from_filetakes the same parameters as theFuzzerclass.
- fuzz()¶
Execute fuzzing for a single original HTTP request.
- fuzz_cookies: bool = True¶
Whether to fuzz cookies. Base64-encoded JSON data in cookies will be recursively traversed and every value will be fuzzed.
- fuzz_directories: bool = True¶
Whether to fuzz directories in the URL.
- fuzz_form_data: bool = True¶
Whether to fuzz form data.
- fuzz_json_data: bool = True¶
Whether to fuzz JSON data. The JSON data will be recursively traversed and every value will be fuzzed. This parameter does not influence how JSON data in parameters or cookies is handled.
- fuzz_parameters: bool = True¶
Whether to fuzz parameters in the URL. Base64-encoded JSON data in parameters will be recursively traversed and every value will be fuzzed.
- original_data_size: int | None = None¶
Data size of the unmodified request in bytes.
- original_header_size: int | None = None¶
Header size of the unmodified request in bytes.
- original_time: float | None = None¶
Time in seconds of the unmodified request.
- output_directory: Path¶
Folder where the performed HTTP requests and responses will be stored for reference.
- payloads: List[str]¶
List of strings to be used for fuzzing.
multiprocessing.Valueinteger that will cause the rest of the fuzzing of the parameter/directory/cookie/… to be skipped. This parameter allows a section of the fuzzing to be skipped during runtime. This value can be asynchronously updated during runtime, and will be reset after the skipping has been performed. If this value is set toSKIP_CURRENT_SECTION, the current section will be skipped. If this value is set toDO_NOT_SKIP, the fuzzer will not skip.