Tabellab
Cybersecurity Advanced

Memory Corruption Basics for Defenders

Understand pointers, the stack and buffer overflows so you can find and fix memory bugs in C.

10 lessons 1 h Certificate

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

  1. Why Memory Safety Matters in CReading6 min Pro
  2. The Toolchain — gcc, gdb, sanitizersReading6 min Pro
  3. Pointers and AddressesReading6 min Pro
  4. The Stack and the Return AddressReading6 min Pro
  5. Debugging with gdbReading6 min Pro
  6. Spotting the Vulnerability — and Fixing ItReading6 min Pro
  7. How an Overflow Corrupts the StackReading6 min Pro
  8. Crash Triage — Locating the OverflowReading6 min Pro
  9. Control-Flow Hijacking — the ConceptReading6 min Pro
  10. Why Modern Binaries Fight BackReading6 min Pro