Logo

User Guide

  • Installing Fuzzungus
    • Install with docker
    • Prerequisites
    • Install from source
    • Extras
      • process_monitor.py
      • network_monitor.py
  • Quickstart
    • Create the file
    • Configuration process
    • Callbacks
    • Call the file
    • Debugging
  • Contributing
    • Issues and Bugs
    • Code Reviews
    • Contributors
      • Pull Request Checklist
    • Maintainers
      • Review Checklist
      • Release Checklist
        • Prep
        • Release

API Documentation

  • Main File
    • Help
      • Example
    • Verbose
    • Fuzz
      • Options
        • --conf-file
        • --save-dir
      • Examples
    • Continue
      • Options
        • --save-dir
      • Example
    • Replay
      • Options
        • --save-dir
        • --round-type
        • --seed-index
        • --max-number-of-rounds
      • Example
    • Open
      • Options
        • --save-dir
        • --ui-port
        • --ui-addr
      • Example
    • Db list
      • Options
      • Example
    • Db connect
      • Options
        • --save-dir
        • --db-name
      • Example
    • Ssh-copy-id
      • Options
        • --login
        • --host
        • --port
      • Example
    • Open-shell
      • Options
      • Example
  • Callgraph
    • session.fuzz_indefinitely()
    • session._main_fuzz_loop()
    • session._fuzz_current_case()
    • session.fragmentation_check()
  • Packages
    • Boofuzz
    • Blocks
    • Callbacks
    • CLI
    • Connections
    • Loggers
    • Monitors
    • Primitives
    • Session
    • Graph
  • Session
    • Session
      • Session._callback_current_node()
      • Session._check_for_passively_detected_failures()
      • Session._check_message()
      • Session._fuzz_current_case()
      • Session._fuzz_single_node_by_path()
      • Session._generate_mutations_for_request()
      • Session._generate_mutations_indefinitely()
      • Session._generate_n_mutations()
      • Session._generate_n_mutations_for_path()
      • Session._generate_n_mutations_for_path_recursive()
      • Session._generate_single_case_by_index()
      • Session._generate_test_case_from_named_mutations()
      • Session._get_monitor_data()
      • Session._iterate_protocol_message_paths()
      • Session._iterate_protocol_message_paths_recursive()
      • Session._main_fuzz_loop()
      • Session._message_check()
      • Session._message_path_to_str()
      • Session._mutations_contain_duplicate()
      • Session._num_mutations_recursive()
      • Session._open_connection_keep_trying()
      • Session._path_names_to_edges()
      • Session._pause_if_pause_flag_is_set()
      • Session._pre_send()
      • Session._process_failures()
      • Session._restart_target()
      • Session._sleep()
      • Session._start_target()
      • Session._test_case_name()
      • Session._test_case_name_feature_check()
      • Session.add_node()
      • Session.add_target()
      • Session.build_webapp_thread()
      • Session.calculate_total_round()
      • Session.check_max_number_of_rounds()
      • Session.connect()
      • Session.connect_boofuzz()
      • Session.example_test_case_callback()
      • Session.exec_speed
      • Session.export_file()
      • Session.feature_check()
      • Session.fragmentation_check()
      • Session.fuzz()
      • Session.fuzz_by_name()
      • Session.fuzz_indefinitely()
      • Session.fuzz_single_case()
      • Session.get_fuzz_data_logger()
      • Session.import_file()
      • Session.netmon_results
      • Session.nominal_test()
      • Session.num_mutations()
      • Session.parent_session
      • Session.register_post_test_case_callback()
      • Session.runtime
      • Session.server_init()
      • Session.set_nominal_data()
      • Session.test_case_data()
      • Session.transmit_all()
      • Session.transmit_fuzz()
      • Session.transmit_normal()
    • Request-Graph visualisation options
      • Session.render_graph_gml()
      • Session.render_graph_graphviz()
      • Session.render_graph_udraw()
      • Session.render_graph_udraw_update()
    • Backward link to the session
    • Timeout calculation
    • Fragmentation
    • Multiple Acks
  • Target
    • Target Interface
    • Target Class
    • Future
    • Target Source Code
      • Target
        • Target.close()
        • Target.get_connection()
        • Target.get_fuzz_data_logger()
        • Target.monitors_alive()
        • Target.netmon_options
        • Target.open()
        • Target.pedrpc_connect()
        • Target.procmon_options
        • Target.recv()
        • Target.send()
        • Target.set_fuzz_data_logger()
    • Repeater
      • Repeater
        • Repeater.log_message()
        • Repeater.repeat()
        • Repeater.reset()
        • Repeater.start()
    • TimeRepeater
      • TimeRepeater
        • TimeRepeater.log_message()
        • TimeRepeater.repeat()
        • TimeRepeater.reset()
        • TimeRepeater.start()
    • CountRepeater
      • CountRepeater
        • CountRepeater.log_message()
        • CountRepeater.repeat()
        • CountRepeater.reset()
        • CountRepeater.start()
  • Connections
    • ITargetConnection
      • Design Considerations
      • Source code
        • ITargetConnection
    • BaseSocketConnection
      • Future
      • Source code
        • BaseSocketConnection
    • TCPSocketConnection
      • TCPSocketConnection
        • TCPSocketConnection.close()
        • TCPSocketConnection.info
        • TCPSocketConnection.open()
        • TCPSocketConnection.recv()
        • TCPSocketConnection.send()
    • UDPSocketConnection
      • UDPSocketConnection
        • UDPSocketConnection.get_sock()
        • UDPSocketConnection.get_udp_client_port()
        • UDPSocketConnection.info
        • UDPSocketConnection.max_payload()
        • UDPSocketConnection.open()
        • UDPSocketConnection.recv()
        • UDPSocketConnection.reuse_my_port()
        • UDPSocketConnection.send()
        • UDPSocketConnection.use_same_port()
    • SSLSocketConnection
      • SSLSocketConnection
        • SSLSocketConnection.open()
        • SSLSocketConnection.recv()
        • SSLSocketConnection.send()
    • RawL2SocketConnection
      • RawL2SocketConnection
        • RawL2SocketConnection.info
        • RawL2SocketConnection.open()
        • RawL2SocketConnection.recv()
        • RawL2SocketConnection.send()
    • RawL3SocketConnection
      • RawL3SocketConnection
        • RawL3SocketConnection.info
        • RawL3SocketConnection.open()
        • RawL3SocketConnection.recv()
        • RawL3SocketConnection.send()
    • SocketConnection
      • SocketConnection()
    • SerialConnection
      • SerialConnection
        • SerialConnection.close()
        • SerialConnection.info
        • SerialConnection.open()
        • SerialConnection.recv()
        • SerialConnection.send()
    • WebSocketConnection
      • WebSocketConnection
        • WebSocketConnection.close()
        • WebSocketConnection.info
        • WebSocketConnection.open()
        • WebSocketConnection.recv()
        • WebSocketConnection.send()
  • Monitors
    • Monitor Interface (BaseMonitor)
      • BaseMonitor
        • BaseMonitor.alive()
        • BaseMonitor.get_crash_synopsis()
        • BaseMonitor.post_send()
        • BaseMonitor.post_start_target()
        • BaseMonitor.pre_send()
        • BaseMonitor.restart_target()
        • BaseMonitor.retrieve_data()
        • BaseMonitor.set_options()
        • BaseMonitor.start_target()
        • BaseMonitor.stop_target()
    • BusyboxMonitor
      • BusyboxMonitor
        • BusyboxMonitor.alive()
        • BusyboxMonitor.error_array
        • BusyboxMonitor.get_crash_synopsis()
        • BusyboxMonitor.post_send()
        • BusyboxMonitor.post_start_target()
        • BusyboxMonitor.restart_target()
        • BusyboxMonitor.start_target()
        • BusyboxMonitor.stop_target()
    • ProcessMonitor
      • ProcessMonitor
        • ProcessMonitor.alive()
        • ProcessMonitor.get_crash_synopsis()
        • ProcessMonitor.on_new_server()
        • ProcessMonitor.post_send()
        • ProcessMonitor.pre_send()
        • ProcessMonitor.restart_target()
        • ProcessMonitor.set_crash_filename()
        • ProcessMonitor.set_options()
        • ProcessMonitor.set_proc_name()
        • ProcessMonitor.set_start_commands()
        • ProcessMonitor.set_stop_commands()
        • ProcessMonitor.start_target()
        • ProcessMonitor.stop_target()
    • NetworkMonitor
      • NetworkMonitor
        • NetworkMonitor.alive()
        • NetworkMonitor.on_new_server()
        • NetworkMonitor.post_send()
        • NetworkMonitor.pre_send()
        • NetworkMonitor.restart_target()
        • NetworkMonitor.retrieve_data()
        • NetworkMonitor.set_filter()
        • NetworkMonitor.set_log_path()
        • NetworkMonitor.set_options()
    • CallbackMonitor
      • CallbackMonitor
        • CallbackMonitor.post_send()
        • CallbackMonitor.post_start_target()
        • CallbackMonitor.pre_send()
        • CallbackMonitor.restart_target()
  • Logging
    • Fuzzing Levels
    • Logging Interface (IFuzzLogger)
      • IFuzzLogger
        • IFuzzLogger.close_test()
        • IFuzzLogger.close_test_case()
        • IFuzzLogger.log_check()
        • IFuzzLogger.log_error()
        • IFuzzLogger.log_fail()
        • IFuzzLogger.log_info()
        • IFuzzLogger.log_pass()
        • IFuzzLogger.log_recv()
        • IFuzzLogger.log_send()
        • IFuzzLogger.log_target_error()
        • IFuzzLogger.log_target_warn()
        • IFuzzLogger.open_test_case()
        • IFuzzLogger.open_test_step()
      • IFuzzLoggerBackend
    • Postgres Logging
      • FuzzLoggerPostgres
        • FuzzLoggerPostgres.close_test()
        • FuzzLoggerPostgres.close_test_case()
        • FuzzLoggerPostgres.get_test_case_data()
        • FuzzLoggerPostgres.log_check()
        • FuzzLoggerPostgres.log_error()
        • FuzzLoggerPostgres.log_fail()
        • FuzzLoggerPostgres.log_info()
        • FuzzLoggerPostgres.log_pass()
        • FuzzLoggerPostgres.log_recv()
        • FuzzLoggerPostgres.log_send()
        • FuzzLoggerPostgres.log_target_error()
        • FuzzLoggerPostgres.log_target_warn()
        • FuzzLoggerPostgres.open_test_case()
        • FuzzLoggerPostgres.open_test_step()
    • Text Logging
      • FuzzLoggerText
        • FuzzLoggerText.INDENT_SIZE
        • FuzzLoggerText.close_test()
        • FuzzLoggerText.close_test_case()
        • FuzzLoggerText.log_check()
        • FuzzLoggerText.log_error()
        • FuzzLoggerText.log_fail()
        • FuzzLoggerText.log_info()
        • FuzzLoggerText.log_pass()
        • FuzzLoggerText.log_recap()
        • FuzzLoggerText.log_recv()
        • FuzzLoggerText.log_send()
        • FuzzLoggerText.log_target_error()
        • FuzzLoggerText.log_target_warn()
        • FuzzLoggerText.open_test_case()
        • FuzzLoggerText.open_test_step()
    • Db Logging
      • FuzzLoggerDb
        • FuzzLoggerDb.close_test()
        • FuzzLoggerDb.close_test_case()
        • FuzzLoggerDb.get_test_case_data()
        • FuzzLoggerDb.log_check()
        • FuzzLoggerDb.log_error()
        • FuzzLoggerDb.log_fail()
        • FuzzLoggerDb.log_info()
        • FuzzLoggerDb.log_pass()
        • FuzzLoggerDb.log_recv()
        • FuzzLoggerDb.log_send()
        • FuzzLoggerDb.log_target_error()
        • FuzzLoggerDb.log_target_warn()
        • FuzzLoggerDb.open_test_case()
        • FuzzLoggerDb.open_test_step()
    • CSV Logging
      • FuzzLoggerCsv
        • FuzzLoggerCsv.close_test()
        • FuzzLoggerCsv.close_test_case()
        • FuzzLoggerCsv.log_check()
        • FuzzLoggerCsv.log_error()
        • FuzzLoggerCsv.log_fail()
        • FuzzLoggerCsv.log_info()
        • FuzzLoggerCsv.log_pass()
        • FuzzLoggerCsv.log_recv()
        • FuzzLoggerCsv.log_send()
        • FuzzLoggerCsv.open_test_case()
        • FuzzLoggerCsv.open_test_step()
    • Console-GUI Logging
      • FuzzLoggerCurses
        • FuzzLoggerCurses.INDENT_SIZE
        • FuzzLoggerCurses.close_test()
        • FuzzLoggerCurses.close_test_case()
        • FuzzLoggerCurses.log_check()
        • FuzzLoggerCurses.log_error()
        • FuzzLoggerCurses.log_fail()
        • FuzzLoggerCurses.log_info()
        • FuzzLoggerCurses.log_pass()
        • FuzzLoggerCurses.log_recv()
        • FuzzLoggerCurses.log_send()
        • FuzzLoggerCurses.log_target_error()
        • FuzzLoggerCurses.log_target_warn()
        • FuzzLoggerCurses.open_test_case()
        • FuzzLoggerCurses.open_test_step()
    • FuzzLogger Object
      • FuzzLogger
        • FuzzLogger.close_test()
        • FuzzLogger.close_test_case()
        • FuzzLogger.failure_summary()
        • FuzzLogger.log_check()
        • FuzzLogger.log_error()
        • FuzzLogger.log_fail()
        • FuzzLogger.log_info()
        • FuzzLogger.log_pass()
        • FuzzLogger.log_recv()
        • FuzzLogger.log_send()
        • FuzzLogger.log_target_error()
        • FuzzLogger.log_target_warn()
        • FuzzLogger.most_recent_test_id
        • FuzzLogger.open_test_case()
        • FuzzLogger.open_test_step()
  • Other Modules
    • Test Case Session Reference
      • ProtocolSessionReference
    • Test Case Context
      • ProtocolSession
    • Helpers
      • calculate_four_byte_padding()
      • crc16()
      • crc32()
      • format_log_msg()
      • format_msg()
      • get_boofuzz_version()
      • get_max_udp_size()
      • get_time_stamp()
      • hex_str()
      • hex_to_hexstr()
      • ip_str_to_bytes()
      • ipv4_checksum()
      • mkdir_safe()
      • parse_target()
      • parse_test_case_name()
      • path_exists()
      • pause_for_signal()
      • str_to_bytes()
      • udp_checksum()
      • uuid_bin_to_str()
      • uuid_str_to_bin()
    • IP Constants
      • UDP_MAX_LENGTH_THEORETICAL
      • UDP_MAX_PAYLOAD_IPV4_THEORETICAL
    • PED-RPC
      • Client
        • Client.on_new_server()
      • Server
        • Server.serve_forever()
        • Server.stop()
    • DCE-RPC
      • bind()
      • bind_ack()
      • request()
    • Crash binning
      • CrashBinStruct
      • CrashBinning
        • CrashBinning.bins
        • CrashBinning.crash_synopsis()
        • CrashBinning.export_file()
        • CrashBinning.import_file()
        • CrashBinning.last_crash
        • CrashBinning.last_crash_synopsis()
        • CrashBinning.pydbg
        • CrashBinning.record_crash()
    • EventHook
      • EventHook
        • EventHook.fire()
  • Callbacks
    • How to define it ?
    • How to use it ?
    • Example
    • Change Default value during a fuzzing session

Protocol Definition

  • Protocol Overview
    • Overview
    • Example
    • Making Your Own Block/Primitive
      • Fuzzable
        • Fuzzable.context_path
        • Fuzzable.encode()
        • Fuzzable.fuzzable
        • Fuzzable.get_mutations()
        • Fuzzable.get_num_mutations()
        • Fuzzable.get_value()
        • Fuzzable.mutations()
        • Fuzzable.name
        • Fuzzable.name_counter
        • Fuzzable.num_mutations()
        • Fuzzable.original_value()
        • Fuzzable.qualified_name
        • Fuzzable.random_generation()
        • Fuzzable.render()
        • Fuzzable.request
        • Fuzzable.stop_mutations()
      • FuzzableBlock
        • FuzzableBlock.encode()
        • FuzzableBlock.get_child_data()
        • FuzzableBlock.mutations()
        • FuzzableBlock.num_mutations()
        • FuzzableBlock.push()
    • Flagging blocks/primitives as depreciated
      • First method with the warnings package
      • Second method with the deprecated package
  • Blocks
    • Request
      • Request
        • Request.analyze_answer()
        • Request.calculate_rto()
        • Request.fuzzable
        • Request.get_mutations()
        • Request.get_num_mutations()
        • Request.name
        • Request.pop()
        • Request.push()
        • Request.render()
        • Request.resolve_name()
        • Request.walk()
    • Block
      • Block
        • Block.encode()
        • Block.mutations()
        • Block.num_mutations()
    • Checksum
      • Algorithms
      • Recursion
      • UDP
      • Source Code
        • Checksum
    • Repeat
      • Repeat
        • Repeat.encode()
        • Repeat.mutations()
        • Repeat.num_mutations()
    • Size
      • Calculation
      • Design Considerations
        • Size
    • Aligned
      • Aligned
        • Aligned.encode()
  • Primitives
    • BasePrimitive
      • BasePrimitive
        • BasePrimitive.encode()
        • BasePrimitive.get_nth()
        • BasePrimitive.mutations()
        • BasePrimitive.num_mutations()
    • BitField
      • BitField
        • BitField.encode()
        • BitField.mutations()
        • BitField.random_generation()
    • Byte
      • Byte
        • Byte.encode()
    • Bytes
      • Bytes
        • Bytes.encode()
        • Bytes.mutations()
        • Bytes.num_mutations()
        • Bytes.random_generation()
    • Delim
      • Delim
        • Delim.encode()
        • Delim.specific_long_string_seeds
    • DWord
      • DWord
        • DWord.encode()
    • FromFile
      • FromFile
    • Group
      • Group
        • Group.mutations()
        • Group.num_mutations()
    • Mirror
      • Mirror
        • Mirror.encode()
        • Mirror.get_length()
        • Mirror.mutations()
        • Mirror.original_value()
    • MultipleDefault
      • MultipleDefault
    • QWord
      • QWord
        • QWord.encode()
    • RandomData
      • RandomData
        • RandomData.encode()
        • RandomData.mutations()
        • RandomData.num_mutations()
    • Simple
      • Simple
    • Static
      • Static
        • Static.encode()
    • String
      • String
        • String.encode()
        • String.get_default_value_multipliers()
        • String.get_long_string_deltas()
        • String.get_long_string_lengths()
        • String.long_string_seeds
        • String.mutations()
        • String.num_mutations()
        • String.random_generation()
    • Word
      • Word
        • Word.encode()
  • Data Generation
    • Data Generation Modes
    • Library
    • Random Mutation
    • Random Generation
    • Example Fuzzing Session
  • Configuration of a session
    • Configuration files
      • BaseConfig
        • BaseConfig
      • Example configuration file
    • Nominal Data
      • Define
      • Verify
      • Frequency

Changelog

  • Changelog
    • Room for improvement
      • Features
      • Fixes
    • Upcomming
      • Features
      • Fixes
    • v1.0.0
      • Features
    • v0.4.2
      • Features
      • Fixes
    • v0.4.1
      • Features
      • Fixes
    • v0.4.0
      • Features
      • Fixes
    • v0.3.0
      • Features
      • Fixes
    • v0.2.1
      • Features
      • Fixes
    • v0.2.0
      • Features
      • Fixes
    • v0.1.6
      • Features
      • Fixes
    • v0.1.5
      • Features
      • Fixes
    • v0.1.4
      • Features
      • Fixes
    • v0.1.3
      • Features
      • Fixes
    • v0.1.2
      • Features
      • Fixes
    • v0.1.1
      • Features
      • Fixes
    • v0.1.0
      • Features
      • Fixes
    • v0.0.13
      • Features
      • Fixes
      • Development
    • 0.0.12
      • Features
      • Fixes
    • 0.0.11
      • Features
      • Fixes
    • 0.0.10
      • Features
      • Fixes
    • 0.0.9
      • Features
      • Fixes
    • 0.0.8
      • Features
      • Fixes
    • 0.0.7
      • Features
      • Fixes
    • 0.0.6
      • Features
      • Fixes
      • Development
    • 0.0.5
      • Fixes
    • 0.0.4
    • 0.0.3
    • 0.0.2
      • Development
    • 0.0.1-dev5
      • Development
    • 0.0.1-dev4
      • Fixes
    • 0.0.1-dev3
      • Fixes
    • 0.0.1-dev2
      • New features
      • Backwards-incompatible
      • Fixes
      • Back-end Improvements
      • Other
    • Initial Development Release - 0.0.1-dev1
fuzzungus
  • Python Module Index

Python Module Index

b
 
b
- boofuzz
    boofuzz.connections.ip_constants
    boofuzz.event_hook
    boofuzz.helpers
    boofuzz.monitors.pedrpc
    boofuzz.utils.crash_binning
    boofuzz.utils.dcerpc

© Copyright 2024, Loup, Kevin, Gabin.

Built with Sphinx using a theme provided by Read the Docs.