CTFd/CTFd

GitHub: CTFd/CTFd

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

Stars: 6738 | Forks: 2719

# ![](https://github.com/CTFd/CTFd/blob/master/CTFd/themes/core/static/img/logo.png?raw=true) ![CTFd MySQL CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/76/76a31369ab2c89a209994fb1440840d531ff8919e012bccffcdc65f5b45189f6.svg) ![Linting](https://github.com/CTFd/CTFd/workflows/Linting/badge.svg?branch=master) [![MajorLeagueCyber Discourse](https://img.shields.io/discourse/status?server=https%3A%2F%2Fcommunity.majorleaguecyber.org%2F)](https://community.majorleaguecyber.org/) [![文档状态](https://api.netlify.com/api/v1/badges/6d10883a-77bb-45c1-a003-22ce1284190e/deploy-status)](https://docs.ctfd.io) ## 什么是 CTFd? CTFd 是一个 Capture The Flag 框架,主要侧重于易用性和可定制性。它内置了运行 CTF 所需的一切功能,并且可以通过插件和主题轻松进行定制。 ![CTFd is a CTF in a can.](https://github.com/CTFd/CTFd/blob/master/CTFd/themes/core/static/static/img/scoreboard.png?raw=true) ## 功能 - 通过管理界面创建你自己的挑战、分类、提示和 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/):[![MajorLeagueCyber Discourse](https://img.shields.io/discourse/status?server=https%3A%2F%2Fcommunity.majorleaguecyber.org%2F)](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, 无后门, 竞赛系统, 网络安全教育, 请求拦截, 逆向工具