This course covers the basics of binary exploitation starting with the basics of assembly language (at&t, intel) and leading up to basic buffer-overflows. This course also covers how to use the pwntools library in python. The objective of this course is to make students able enough to perform basic binary exploitation attacks like format string, ROP chaining, ret2x & executing system calls like execve or popping a shell.
The repository is for personal use and will contain all the code for the homework assignments of the ENPM691 course. The code will consist of practical exercises related to finding flaws in Linux bonaries, exploiting them, and implementing mitigations. The repository will be organized by homework assignments and the final project, with each assignment containing commented code explaining the concepts applied.
WEEK | TOPIC |
---|---|
1 | Foundations - I |
2 | Foundations - II |
3 | Machine Level Representation of C - I |
4 | Machine Level Representation of C - II |
5 | Stack Based Buffer Overflow |
6 | Data Pointer & Function Pointer Variables |
7 | Format String Vulnerabilities |
8 | Linking |