Binary Exploitation & Pwn
Bend a running program to your will, one overwritten pointer at a time.
- Estimated time
- 2 hours
- Rooms
- 2 rooms
- Points
- 425 pts
- Enrolled
- Be the first to enroll


About this path
Memory-corruption is where you stop trusting abstractions and start reasoning about the stack, the registers, and the bytes a program actually runs. This path starts from the very first stack buffer overflow and builds toward defeating real mitigations — reading the binary, controlling the instruction pointer, and reusing existing code to make the program do what you want. Every room ships the binary for analysis and a live service to exploit.
Who should start here
Developers and security learners ready to go low-level: people comfortable with C and the command line who want to understand exploitation from the ground up.
Prerequisites
A C mental model, comfort on the Linux command line, and a disassembler (Ghidra, radare2, or objdump) plus Python for scripting payloads. No prior exploitation experience required for the first room.
What you will be able to do
- Explain how the call stack stores a function's saved return address
- Overflow a stack buffer to take control of the instruction pointer
- Write a ret2win exploit against a No-PIE binary
- Leak memory and chain a ret2libc / format-string primitive
- Reason about NX, ASLR, stack canaries and when each one matters
Curriculum
Module 1 — Smashing the stack0 of 1 rooms complete
Your first overwritten return address.
Module 2 — Leaks & code reuse0 of 1 rooms complete
When one bug is only the beginning.