Skip to content
Flask platform for Capture The Flag challenges
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
screeshots update readme file fix #3 Nov 19, 2015
static fix broken links Nov 23, 2016
templates fix broken links Nov 23, 2016
.gitignore update the web interfaces Oct 27, 2015
LICENSE version 0.1 Oct 23, 2015
README.md fix typo Nov 19, 2015
config.py update readme file fix #3 Nov 19, 2015
ctf.py app refactoring Dec 26, 2016
db.sqlite
forms.py app refactoring Dec 26, 2016
models.py
requirements.txt Pin flask-mail to latest version 0.9.1 May 19, 2018
run.py update readme file fix #3 Nov 19, 2015

README.md

CTF

The CTF is a Hacking and Computer Security eLearning platform.

Install requirements

pip install -r requirements.txt

Setup email credentials and recaptcha API key

export APP_MAIL_USERNAME="<your email>"
export APP_MAIL_PASSWORD="<your password"
export RECAPTCHA_PRIVATE_KEY='<your recaptcha private key>'
export RECAPTCHA_PUBLIC_KEY='< your recaptcha public key>'

Register and login

The register interface allow user to register to the application. It will sent a link to activate the account and verify if the user is human or not with google recaptcha.

alt text

When the user is registred and his account is verified he can access the web application.

alt text

Admin interface

Register and login with the user "test" to be able to access the admin interface. http://127.0.0.1:5000/admin . You will be able to manage users and challenges.

alt text

Challenges

The index interface contain the challenges added by the "test" user.

alt text

alt text

Deployment with tornado web server

Tornado is an open source version of the scalable, non-blocking web server and tools that power FriendFeed. Because it is non-blocking and uses epoll, it can handle thousands of simultaneous standing connections, which means it is ideal for real-time web services.

pip install tornado
python run.py
You can’t perform that action at this time.