![](https://ccweb.imgix.net/https%3A%2F%2Fwww.classcentral.com%2Fimages%2Ficon-black-friday.png?auto=format&ixlib=php-4.1.0&s=fe56b83c82babb2f8fce47a2aed2f85d)
Overview
![](https://ccweb.imgix.net/https%3A%2F%2Fwww.classcentral.com%2Fimages%2Ficon-black-friday.png?auto=format&ixlib=php-4.1.0&s=fe56b83c82babb2f8fce47a2aed2f85d)
The course teaches the process of fuzzing with AFL, including getting started, optimizations, and common issues. It covers topics such as basic fuzzing, mutational fuzzers, feedback-based fuzzers, and AFL installation. The course aims to help learners understand how to fuzz their own code effectively with AFL. The teaching method includes demonstrations and practical guidance. This course is intended for individuals interested in software testing, cybersecurity, or improving the reliability of their code through fuzzing techniques.
Syllabus
Intro
Inspiration
Code coverage vs path coverage
Basic fuzzing
Mutational fuzzer
Grammar fuzzer
Feedback-based fuzzers
AFL trophy case - vulnerabilities
Installing AFL
LLVM: Fuzzing non-x86
Workflow
Get some hardware
Compile the binary
Compile time environment variables
Find a test corpus
Run the fuzzer
Triage the findings
Profit
Goals
Optimization: Execution speed
Optimization: LLVM - Deferred instrumentation
Optimization: LLVM - Persistent mode
Optimization: libdislocator.so
Optimization: Dictionaries
Resources
Summary
Taught by
NDC Conferences