This repo contains standalone software puzzles, some of which are security-themed.
For instructions on how to set up and access the simple dashboard, please see below.
Some of the challenges are intended to be solved without reading the source. Everything you need should be in the dashboard.
- Install Python 3, pip, and Docker
pip3 install --upgrade docker-compose pyyaml
sudo ./run.sh # sudo or add yourself to the docker group...
- Browse to port 9000 on your Docker IP (e.g., http://172.17.0.1:9000/)
Tested on Arch Linux with Python 3.6
NOTE: Ubuntu's pip
puts docker-compose in ~/.local/bin/docker-compose
.
You'll want to do sudo ~/.local/bin/docker-compose up -d --build
instead
of ./run.sh
.
Your user is automatically created and its session saved in a cookie. If your cookie gets deleted, a new user will be created for you.
To grant access to Django's admin interface, you can provide user IDs in the scoreboard Docker container:
docker-compose exec scoreboard bash
python3 manage.py grant_admin 1 2 3 # User ID's of admins
- Browse to /admin/ on the scoreboard (e.g., http://172.17.0.1:9000/admin/)
If you change challenge metadata, please run config/prepare_scoreboard.py
.
This collects static files and database entries for the scoreboard.
Then, you can do ./run.sh
as normal.
- A real Django setup (nginx in front of gunicorn, etc.)
- Add write-ups and tests?