Memory Corruption Basics for Defenders
Understand pointers, the stack and buffer overflows so you can find and fix memory bugs in C.
One-time payment · lifetime access · lessons, labs, exam and certificate included · no subscription.
About this course
C hands you full control of memory and almost no safety net, which is why memory-corruption bugs remain among the most serious vulnerabilities. This course teaches them from the defender’s side. You set up gcc, gdb and AddressSanitizer, revisit pointers and the array-bounds problem, and learn how a stack frame places local buffers next to the saved return address. You read a small, deliberately buggy teaching program, identify the unbounded copy, and apply the correct bounded fix. Later lessons observe safely how an overflow corrupts the stack, how crash triage locates the exact offset, and why an overwritten return address can mean redirected execution — covered at the concept level, with no working exploit. A final lesson explains stack canaries, NX, ASLR, PIE and FORTIFY as defence in depth. Everything runs on your own machine or VM for authorised learning.
Lessons
- Why Memory Safety Matters in C Pro
- The Toolchain — gcc, gdb, sanitizers Pro
- Pointers and Addresses Pro
- The Stack and the Return Address Pro
- Debugging with gdb Pro
- Spotting the Vulnerability — and Fixing It Pro
- How an Overflow Corrupts the Stack Pro
- Crash Triage — Locating the Overflow Pro
- Control-Flow Hijacking — the Concept Pro
- Why Modern Binaries Fight Back Pro