KAIST
EE 309: Advanced Programming Techniques for EE

Assignment 3: Buffer Overflow

 

Purpose

The purpose of this assignment is to help you understand buffer overflow and how to exploit it.

Your Task

Task 1: Get your account

Please submit your ssh key to this link. To generate ssh key, please run the following commands on your terminal:
  $ ssh-keygen -t rsa -b 4096
  $ cat ~/.ssh/id_rsa.pub

Task 2: Connect to our challenge server

We have prepared a challenge server for you to exploit. Please connect to the server using the following command:

  $ ssh -p 54321 YOUR_STUDENT_ID@teemo.kaist.ac.kr
  # For example, if your student ID is 20191234, please run the following command:
  # ssh -p 54321 20191234@teemo.kaist.ac.kr
If you have any problem connecting to the server, please contact the TA.

Task 3: Solve challenges

Your challenge is located at /challenges.
  $ cd /challenges
  $ ls
  01-basic  02-jump  03-shellcode  04-system  05-leak  06-chain  07-full
Each challenge has its own README.md file. Please read the file and solve the challenge. If you solve challenges, you can read flags that are located at each challenge directory.

Logistics

Create a readme text file that contains:

Submission

Use KAIST KLMS to submit your assignments. Your submission should be one gzipped tar file whose name is YourStudentID_assig3.tar.gz

For example, if your student ID is 20191234, please name the file as 20191234_assign3.tar.gz

Create a local directory named 'YourStudentID_assign3' and place all your files in it. Then, tar your submission file. Please refer here for how to archive your assignment.

Your submission need to include the following files:

Your submission file should look like this:

20191234_assign3.tar.gz
01-basic/flag
01-basic/solve.py
02-jump/flag
02-jump/solve.py
...
readme
EthicsOath.pdf

Grading

In total, we have 7 challenges. First 5 challenges are worth 10 points each, and the last 2 challenges are worth 20 points each. You will get 10 points if your readme file contains correct answers for 3 questions in challenges.