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¶
- Web UI Testing: Code testing using Mayhem's web user interface.
- CLI Testing: Code testing using Mayhem's command line interface.
- Testing a Docker Target: Code testing a Docker packaged target in Mayhem.
- 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¶
- Target Input Methods: Code testing for targets that use various input methods.
- 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¶
- Mayhem and Test Drivers: Code testing with test drivers.
- Test Driver for tinyxml: Walk through an example source-based test driver for the
tinyxml
library. - Hardware Testing: Write test drivers for hardware dependencies.
- Testing with Shared Libraries: Write test drivers for for shared libraries.
- Testing with LibFuzzer: Write libFuzzer-style test drivers.
- OSS-Fuzz Targets with Mayhem: Test Google's oss-fuzz targets using Mayhem.
- Patching Binaries: Modify binary applications when source code is not available to improve testing.
- Firmware Testing: Extract, create a test driver, package, and test firmware binaries.