http://opensecuritytraining.info/IntroductionToSoftwareExploits.html
Assumes: Knowledge of C and x86 Assembly
Teaches: Locating and exploiting vanilla stack corruption vulnerabilities in a linux environment. Developing x86 linux shellcode. Debugging with GDB. Introduction to the design and implementation of heap allocators, as well as how heap overflows can be exploited. Describes the basics of ret2libc style exploit payloads.