You are eligible for the following grades in this exercise by completing the tasks as defined.
On the final task, make a short step-by-step report (what, why and how), and include source codes and the most important command line commands used in those tasks. It’s recommended to read all tasks before starting.
It is estimated that you can do Tasks 1 & 2 during the lab session (4 hours).
Tasks 3 & 4 are more advanced than the earlier ones. The implementation will very likely take considerably more time.
| Task | Points | Description |
|---|---|---|
| Task 1 | 1 | Analyzing buffer overflow and changing execution flow |
| Task 2 | 2 | Arbitrary code execution in the vulnerable program |
| Task 3 | 1 | Code reuse attack techniques: ret2libc & ROP |
| Task 4 | 1 | A bit more advanced ROP implementation |
Difficulty on tasks is expected to rise exponentially as you go forward with them. Without understanding the previous task, the next one could be very ambiguous.
Return task 4 to your private GitHub repository!