djangoctf: A platform for jeopardy CTF (capture-the-flag) competitions
djangoctf v1.1
A platform for jeopardy CTF (capture-the-flag) competitions written in Django.
CTF cybersecurity competitions have become an increasingly popular form of challenges for aspiring cybersecurity students. After the success of high-school CTF games like picoCTF, we, the members of Montgomery Blair High School’s Cybersecurity Club, decided to run our own CTF competition called angstromCTF. angstromCTF consists of questions ranging from trivial to extremely difficult in various categories:
- Binary exploitation
- Reverse engineering
- Cryptography
- Web exploitation
- Forensics
- Master challenges
Using this platform, participants will log in, read and answer challenges, learn about cybersecurity, and receive updates. Participants can create and join teams to solve challenges together. The platform is designed to be extensible and re-usable for other CTFs and competitions. If you make something cool with djangoctf, be sure to let us know! For installation instructions, see the Wiki.
This platform is actively maintained by Noah Singer (singerng@gmail.com), as well as other members of the project, including Anthony Li (tongning05@gmail.com), Artemis Tosini (me@artemis.re), and Chris Wang (kisa.ayano@icloud.com). The djangoctf and angstromCTF projects are based out of Montgomery Blair High School in Silver Spring, Maryland, USA.
Installation
Run with Docker
Docker images running the latest version of djangoctf are available on Docker Hub from the automated build repository tning05/djangoctf
. Launching a development instance of djangoctf from the Docker image is simple:
$ docker run --name djangoctf -p 8000:8000 -d tning05/djangoctf
Then visit http://localhost:8000
from your local machine to access your instance of djangoctf.
Manual installation
Make sure you have git, Python, and pip installed on your computer. We’ll need these to use the project.
Nix and Nix-like Systems (Linux, Unix, OS X, etc.)
Many distros already come with git and Python, but if yours doesn’t, get it through your package manager(apt-get, brew, etc.). Make sure you have Python 3.x. djangoctf requires Python 3.0+ to run because some files contain things like function annotations. If you want, you can run djangoctf in its own Python virtual environment with virtualenv or pyenv. Then, head to this page to install pip. Make sure to read the warnings and instructions.
Clone this repository using:
git clone https://github.com/angstromctf/djangoctf.git
for https and
git clone git@github.com:angstromctf/djangoctf.git
for ssh.
You should now be able to run python manage.py
without any errors. You’ll see that this command outputs a list of possible commands.
To run the djangoctf server locally for testing, run sudo python3 manage.py runserver -v 3. You should now see djangoctf running on localhost:8000!
Configuration
Configuration settings are stored in djangoctf/settings.json
. An example configuration file is included with djangoctf as settings.json.example
.
Copyright (C) 2016 singerng
Source: https://github.com/angstromctf/