CS 105

Getting Started

As with the Bomb lab, each team will have their own target programs to use that you'll download with links on wilkes.

When you're ready, one (and only one) of your team should

  1. Connect to wilkes over SSH.
  2. Create a directory for you to work in; we suggest

    mkdir -p cs105/lab05
    cd cs105
    ls -ld lab05
    

    which should look something like

    drwx------ 3 you students 4096 Feb  5 14:41 lab05
    

    If any of the permission bits appear other than the first drwx; for example,

    drwxr-x--x 3 you students 4096 Feb  5 14:41 lab05
    

    change them so no one but you (and your partner next to you) can see your work with

    chmod 700 lab05
    ls -ld lab05
    drwxr----- 3 you students 4096 Feb  5 14:41 lab05
    
  3. Run cd lab05 to change to your lab directory, then run

    links http://wilkes:15513
    
  4. Follow the prompts to download your target (another tar file), and hit the Q key to exit links when you're done.

(You can also refer back to the getting started page for the Bomb lab as a refresher on using links.)

The tar File

You now have a tar file called targetk.tar, where k is the unique number of your target programs. Unpack it with

tar -xvf targetk.tar

and cd targetk.

You should only download one set of files. If for some reason you download multiple targets, choose one target to work on and delete the rest.

The files in targetk include

README.txt
A file describing the contents of the directory.
ctarget
An executable program vulnerable to code injection attacks.
rtarget
An executable program vulnerable to return-oriented programming attacks.
cookie.txt
An 8-digit hexadecimal code that you will use as a unique identifier in your attacks.
farm.c
The source code of your target's “gadget farm”, which you will use in generating return-oriented programming attacks.
hex2raw
A utility to generate attack strings. (See this page for details on using hex2raw.)

To Complete This Part of the Assignment

You'll know you're done with this part of the assignment when you've done all of the following:

(When logged in, completion status appears here.)