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.
Corey Kallenberg is a computer security researcher at The MITRE Corporation. Corey specializes in Windows kernel development, vulnerability discovery and exploitation, and rootkit analysis. His current line of research focuses on BIOS and UEFI security issues.