For my CSCI 5271 class, students were assigned a virtual machine that had a vulnerable binary file on it. Students were to find four different vulnerabilities and craft an exploit to gain root privileges. However, each week, the most common vulnerabilites would be patched out so that the next exploit would be harder to make. The assignment along with the source code for the initial version and each patched version can be found here under "Hands-on assignment 1: Exploiting BCVI": http://www-users.cselabs.umn.edu/classes/Fall-2017/csci5271/index.php?page=assignments.
This repository contains my exploits and readme files for each week, showing my thought processes for finding the vulnerabilities.
Thank you to Professor Stephen McCamant for teaching this course and providing a fun and enlightening assignment.