コンテンツにスキップ

Mayhem Code Testing Tutorials

Beginner beginner

First time? Welcome. We'll introduce you to Mayhem code testing and how to quickly get started security testing targets.

Introduction

Your introduction to Mayhem and code testing.

⚡ Executing Mayhem Runs

  1. Web UI Testing: Code testing using Mayhem's web user interface.
  2. CLI Testing: Code testing using Mayhem's command line interface.
  3. Testing a Docker Target: Code testing a Docker packaged target in Mayhem.
  4. Testing a Non-Docker Target Code testing a non-Docker packaged target in Mayhem.

Advanced advanced

Were you able to execute a Mayhem run? If so great! Learn how to configure your Mayhem runs with the following walkthroughs.

⚡ Configuring Mayhem Runs

  1. Target Input Methods: Code testing for targets that use various input methods.
  2. OSS Fuzzer Engines: Code testing targets using various open-source fuzzer engines.

Expert expert

We're past the simple stuff. Perhaps you have a complex application that requires a custom fuzzer or more optimized testing efficiency using test drivers and third-party compilers like libprotobuf. Learn how to use Mayhem for more complex code testing scenarios.

⚡ Mayhem for Power Users

  1. Mayhem and Test Drivers: Code testing with test drivers.
  2. Test Driver for tinyxml: Walk through an example source-based test driver for the tinyxml library.
  3. Hardware Testing: Write test drivers for hardware dependencies.
  4. Testing with Shared Libraries: Write test drivers for for shared libraries.
  5. Testing with LibFuzzer: Write libFuzzer-style test drivers.
  6. OSS-Fuzz Targets with Mayhem: Test Google's oss-fuzz targets using Mayhem.
  7. Patching Binaries: Modify binary applications when source code is not available to improve testing.
  8. Firmware Testing: Extract, create a test driver, package, and test firmware binaries.