An in-depth roadmap for binary exploitation with explanations of common exploitation methods and resource links.


Pre-requisites & Requirements

  • Basic understanding of programming in C and/or Python
  • A Linux environment with gcc and gdb installed (recommended guide: pwndbg, GEF, PEDA: One for all, and all for one)
  • (Optional): Familiarity with assembly language (e.g., x86 or x86-64)

Beginner Concepts

Start out by exploring these resources covering memory buffers, stack buffer overflows, and binary security mitigations, alongside general assembly review:

After checking these links out and trying a few challenges, you should have a solid baseline understanding of buffer overflow vulnerabilities and be ready to tackle introductory CTF challenges like baby-pwn.


Intermediate Concepts

Learn traditional binary exploitation primitives commonly encountered in CTF competitions. Focus on ROP chaining, finding/leaking offsets and addresses, and locating gadgets:

By the end of this stage, you should be able to identify most core userland vulnerabilities, isolate gadgets with tools like ROPgadget, and script exploits using pwntools.


Advanced Concepts

Explore heap exploitation techniques and advanced control-flow hijacking primitives when standard ROP is constrained:

Further Reading: Kernel Exploitation

For transitioning into ring-0 exploitation techniques: