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.