CTFd is a Capture The Flag framework focusing on ease of use and customizability. It comes with everything you need to run a CTF and it's easy to customize with plugins and themes.
- Create your own challenges, categories, hints, and flags from the Admin Interface
- Static & Regex based flags
- Users can unlock hints for free or with points
- File uploads to the server or Amazon S3
- Limit challenge attempts & hide challenges
- Automatic submission throttling
- Scoreboard with automatic tie resolution
- Hide Scores from the public
- Freeze Scores at a specific time
- Dynamic Scoring
- Scoregraphs comparing the top 10 teams and team progress graphs
- Markdown content management system
- SMTP + Mailgun email support
- Email confirmation support
- Forgot password support
- Automatic competition starting and ending
- Team management & hiding
- Customize everything using the plugin and theme interfaces
- Importing and Exporting of CTF data for archival
- And a lot more...
- Run
./prepare.sh
to install dependencies using apt. - Modify CTFd/config.py to your liking.
- Use
flask run
in a terminal to drop into debug mode.
Or you can use Docker with the following command:
docker run -p 8000:8000 -it ctfd/ctfd
- Here are some deployment options
- You can check out the Getting Started guide for a breakdown of some of the features you need to get started.
To get basic support, you can join the CTFd Slack Community:
If you prefer commercial support or have a special project, send us an email: support@ctfd.io.
Looking to use CTFd but don't want to deal with managing infrastructure? Check out the CTFd website for managed CTFd deployments.
Looking for CTF challenges to work on? HackerFire is a learning focused CTF built using CTFd. It features a wide variety of challenges and is updated with new content frequently. It also contains custom knowledge resources to teach newcomers about the techniques used to solve a challenge.
- Logo by Laura Barbera
- Theme by Christopher Thompson