Skip to content

Silva97/exploit-me

Repository files navigation

Silva97/exploit-me

This repository is a collection of challenges to write exploits and learn some kind of cool stuffs about information security.

If you want to learn about AppSec, binary exploitation and/or exploit development, this is the place.

How to compile

If you want to compile some challenge you can just use the Makefile inside of all challenge directories. But for commodity here has a Makefile on root directory that can be used to compile any of the challenges.

Just run make <chlg-number> to compile it. For instance:

$ make 001

Using Docker

Doesn't want to download or run something on your computer? No worry, you can use a Docker container to run the challenges.

If you want to build the Docker image just run make docker-<chlg-number>. For instance:

$ make docker-001

And to run the container:

$ make run-001

If you want to get the challenge binary inside the container, just run:

$ make get-001

Running container without clone this repository

If you don't want to clone this repository to run the container, just run:

$ docker run --rm -d --name "exploitme001" "silva97/exploitme001"

And to get the container's IP address:

$ docker inspect -f '{{ .NetworkSettings.IPAddress }}' exploitme001

To get the challenge binary inside the container:

$ docker run --rm --entrypoint cat "silva97/exploitme001:latest" /app/challenge > ./challenge

How to solve a challenge

The objective to all challenges is write an exploit that is able to explore the security issue and get the flag. The flag always follows the format EME{...}. Example: EME{exploitme001}.

Note: You are free to read the code, reverse engineering the binary or do anything you need to win the challenge. Your approach is more about what you want to practice (code auditation, reverse engineering etc.).

How to contribute and/or submit solutions

Please read the CONTRIBUTING.md to see how to contribute or submit your solution for this repository.