Memory Corruption

Submission Deadline:

The goals of this assignment are to:

  1. Identify and exploit memory corruption vulnerabilities in web applications
  2. Bypass state-of-the-art memory corruption defenses

Vulnerable Echo Server

Identify a memory corruption vulnerability in the (updated) echo server. Exploit this vulnerability to execute code with the privileges of the server process, assuming that ASLR is enabled. As proof of exploitation, your payload should create the file /tmp/success.

The source code for this application can be found on GitLab, and the application is also available as a Docker image.

Extra Credit

Assume that run_command does not exist in the echo server. Exploit the server as above.

Submission Instructions

Create a GitLab repository at ${your_gitlab_user}/memory. The latest commit on master will be considered your submitted solution. Push your code and include a /Dockerfile that will execute your exploit given the address of a remote system running an instance of the echo server using the ENTRYPOINT Dockerfile directive. Finally, commit a /README.md that describes the vulnerability and your attack.

If submitting for extra credit, include the code, a separate /Dockerfile.extra_credit with the same interface as above, and describe the your exploit.