CTFd/CTFd
GitHub: CTFd/CTFd
CTFd 是一个侧重易用性和可定制性的 Capture The Flag 赛事框架,帮助组织者快速搭建和管理网络安全竞赛平台。
Stars: 6738 | Forks: 2719
# 


[](https://community.majorleaguecyber.org/)
[](https://docs.ctfd.io)
## 什么是 CTFd?
CTFd 是一个 Capture The Flag 框架,主要侧重于易用性和可定制性。它内置了运行 CTF 所需的一切功能,并且可以通过插件和主题轻松进行定制。

## 功能
- 通过管理界面创建你自己的挑战、分类、提示和 flag
- 动态评分挑战
- 支持解锁挑战
- 挑战插件架构,用于创建你自己的自定义挑战
- 静态与基于正则表达式的 flag
- 自定义 flag 插件
- 可解锁的提示
- 将文件上传到服务器或兼容 Amazon S3 的后端
- 限制挑战尝试次数和隐藏挑战
- 自动防暴力破解保护
- 支持个人和团队赛
- 允许用户独立参赛或组建团队共同参赛
- 带有自动平局决断的记分牌
- 对公众隐藏分数
- 在特定时间冻结分数
- 对比前 10 名队伍的分数图表和团队进度图表
- Markdown 内容管理系统
- 支持 SMTP + Mailgun 邮件
- 邮箱验证支持
- 忘记密码支持
- 自动开始和结束比赛
- 团队管理、隐藏和封禁
- 使用[插件](https://docs.ctfd.io/docs/plugins/overview)和[主题](https://docs.ctfd.io/docs/themes/overview)界面进行全方位定制
- 导入和导出 CTF 数据以进行归档
- 以及更多功能...
## 安装
1. 安装依赖项:`pip install -r requirements.txt`
1. 你也可以使用 `prepare.sh` 脚本通过 apt 安装系统依赖项。
2. 根据你的喜好修改 [CTFd/config.ini](https://github.com/CTFd/CTFd/blob/master/CTFd/config.ini)。
3. 在终端中使用 `python serve.py` 或 `flask run` 进入调试模式。
你可以使用以下命令来运行自动生成的 Docker 镜像:
`docker run -p 8000:8000 -it ctfd/ctfd`
或者你也可以在源码仓库中使用以下 Docker Compose 命令:
`docker compose up`
查看 [CTFd 文档](https://docs.ctfd.io/)以了解[部署选项](https://docs.ctfd.io/docs/deployment/installation)和[入门指南](https://docs.ctfd.io/tutorials/getting-started/)
## 在线演示
https://demo.ctfd.io/
## 支持
要获取基础支持,你可以加入 [MajorLeagueCyber 社区](https://community.majorleaguecyber.org/):[](https://community.majorleaguecyber.org/)
如果你需要商业支持或有特殊项目需求,欢迎随时[联系我们](https://ctfd.io/contact/)。
## 托管服务
想要使用 CTFd 但不想自己管理基础设施?请访问 [CTFd 官网](https://ctfd.io/)查看 CTFd 托管部署服务。
## MajorLeagueCyber
CTFd 与 [MajorLeagueCyber](https://majorleaguecyber.org/) 进行了深度整合。MajorLeagueCyber (MLC) 是一个 CTF 统计追踪器,可为赛事提供日程安排、团队追踪和单点登录(SSO)功能。
通过在 MajorLeagueCyber 注册你的 CTF 赛事,用户可以自动登录、追踪个人和团队分数、提交 writeup,并接收重要赛事的通知。
要与 MajorLeagueCyber 集成,只需注册一个账号,创建一个赛事,并将 client ID 和 client secret 安装到 `CTFd/config.py` 的相关位置或管理面板中:
```
OAUTH_CLIENT_ID = None
OAUTH_CLIENT_SECRET = None
```
## 鸣谢
- Logo 由 [Laura Barbera](http://www.laurabb.com/) 设计
- 主题由 [Christopher Thompson](https://github.com/breadchris) 设计
- 提示音由 [Terrence Martin](https://soundcloud.com/tj-martin-composer) 提供
标签:CTF平台, Flask, Python, 无后门, 竞赛系统, 网络安全教育, 请求拦截, 逆向工具