Understanding Buffer Overflow Vulnerabilities
Part 1: https://hacklido.com/blog/328-understanding-buffer-overflow-vulnerabilities-part-1-memory-layout-and-the-call-stack
Part 2: https://hacklido.com/blog/339-understanding-buffer-overflow-vulnerabilities-part-2-stack-overflow-in-a-simple-c-program
Part 3: https://hacklido.com/blog/353-understanding-buffer-overflow-vulnerabilities-part-3-understanding-cpu-registers
Part 4: https://hacklido.com/blog/354-understanding-buffer-overflow-vulnerabilities-part-4-debugging-a-c-program