Skip to content

Commit

Permalink
Update README
Browse files Browse the repository at this point in the history
  • Loading branch information
trickeydan committed Feb 26, 2024
1 parent 898c19e commit af714fa
Showing 1 changed file with 32 additions and 6 deletions.
38 changes: 32 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,38 @@
# CTFFramework

BETA SOFTWARE. SUPPORT IS NOT PROVIDED AT THIS TIME.
# CTFF - CTF Framework

A Framework for building CTFs.

## Contributions
CTFF can be used to define Capture The Flag (CTF) challenges in a very minimal
amount of code, and render an interface for competitors to view and attempt
challenges. Building a mini web-interface seems to be a thing that we frequently
do when building a CTF and this framework aims to reduce that effort to near-zero.

This project is released under the MIT Licence. For more information, please see LICENSE.
CTFF is built on top of [Flask](https://flask.palletsprojects.com/) and supplements it's functionality.
All of the usual Flask features and functionality are still available.

## CTF Structure

The framework currently assumes that CTFs consist of a series of challenges, which are grouped
together. The groups might be levels, or categories of challenges, the framework leaves it up to the author.

Each challenge consists of a number of "parts", one of which will usually be a submission. A challenge can only have one submission pathway, but multiple solutions or inputs if desired.

The CONTRIBUTORS file can be generated by executing CONTRIBUTORS.gen. This generated file contains a list of people who have contributed to CTFFramework.
```python
@challenge_group.challenge
class MyChallenge(Challenge):
title = "My Challenge"
flag = "flag{ZzZzZzZ}"

def __init__(self) -> None:
self.parts = [
MarkdownPart("What lives in a hive and goes zzzz?"),
TextSubmissionPart("example"),
]

def verify_submission(self) -> bool:
return request.form["example"] == "bees"
```

## Contributions

This project is released under the MIT Licence. For more information, please see LICENSE.

0 comments on commit af714fa

Please sign in to comment.