Skip to content

Latest commit

 

History

History
50 lines (38 loc) · 1.86 KB

README.md

File metadata and controls

50 lines (38 loc) · 1.86 KB

byoc

byoc is a challenge that was created by Adam Doupé, specifically designed to test and develop intermediate Return Oriented Programming skills.

A good exercise is to compare this challenge with the previous challenges baby-pivot, format-your-pivot, and one-byte-to-freedom.

You are given the binary and a copy of the libc version.

The goal is to write a repeatable exploit script to steal the flag (located at /challenge/flag) remotely.

To run the challenge locally on your machine:

docker run -p 127.0.0.1:31337:31337 -it adamdoupe/byoc

This will download the docker image and run it using docker. The challenge is running under xinetd on port 31337 in the container. The -p option maps the localhost's port 31337 to the docker container's port 31337. The 127.0.0.1 part is optional (this restricts the port on your actual machine to only listen for connections from localhost), however you are running intentionally vulnerable software on your machine, so it's not a good idea for it to be accessible to other machines.

You should then be able to access byoc like so:

nc localhost 31337

To jump in and debug the program, you can use the following command to get a bash shell

docker run --security-opt seccomp:unconfined -it adamdoupe/byoc bash