http://opensecuritytraining.info/Exploits2.html
Assumes: Knowledge of C, x86 assembly, and basics of stack memory corruption vulnerabilities.
Teaches: Basics of exploiting memory corruption vulnerabilities in win32. Developing windows shellcode. The strengths and weaknesses of typical win32 exploit mitigations. Using ROP to build a fake VirtualProtect stack frame. Generating crashes with fuzzing and crash analysis.
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.