Skip to content

Fuzzing tutorial with easy to learn labs 🚀

License

Notifications You must be signed in to change notification settings

fengjixuchui/Fuzzing-2

 
 

Repository files navigation

Fuzzing

Fuzzing tutorial with easy to learn labs.

Lessons

Lesson keyword Lab
Lesson 00 - Fuzzing with AFL++ afl-cc, afl-clang-lto, fuzzing ✅
Lesson 01 - Use sanitizer to catch silent bugs AddressSanitizer(ASAN) ✅
Lesson 02 - Improve code coverage using dictionary dictionary, branch constraint, split-comparison ✅
Lesson 03 - Parallel fuzzing: combine the advantages of each fuzzer parallel fuzzing, seed pool syncing ✅
Lesson 04 - Increase fuzzing performance by persistent mode fuzzing harness, persistent mode ✅
Lesson 05 - Write a LLVM Pass to do binary instrumentation LLVM Pass, binary instrumentation ✅
Lesson 06 - Integrate custom LLVM Pass into AFL++ custom LLVM Pass in AFL++, integration example ✅
Lesson 07 - Playing symbolic execution on a maze with KLEE symbolic execution, KLEE ✅

Setup

./setup.sh
make

Environment

Name Version
Ubuntu 20.04, 22.04
LLVM (clang, lld) 14.0.6
AFL++ 4.01c
KLEE v2.3

About

Fuzzing tutorial with easy to learn labs 🚀

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 33.9%
  • C 31.8%
  • Shell 20.5%
  • Makefile 13.8%