The course is focused on a comprehensive coverage of software exploitation. It will present different domains of code exploitation and how they can be used together to test the security of an application. The participants will learn about different types and techniques of exploitation, using debuggers to create their own exploits, understand protection mechanism of the Operating Systems and how to bypass them. The course is heavily focused on being hands-on. Reference material documents will be provided for concepts for further reading. Course content slides will demonstrate attacks performed in-class and explain concepts where needed.