GZTimeWalker/GZCTF

GitHub: GZTimeWalker/GZCTF

GZCTF 是一个基于 ASP.NET Core 的开源 CTF 竞赛平台,支持动态容器分发、动态计分及多语言国际化,适用于高校及企业举办各类网络安全赛事。

Stars: 1477 | Forks: 167

Banner # GZ::CTF [![publish](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/0cef292f34185928.svg)](https://github.com/GZTimeWalker/GZCTF/actions/workflows/ci.yml) ![version](https://img.shields.io/github/v/release/GZTimeWalker/GZCTF?include_prereleases&label=version) ![license](https://img.shields.io/github/license/GZTimeWalker/GZCTF?color=FF5531) [![Crowdin](https://badges.crowdin.net/gzctf/localized.svg)](https://crowdin.com/project/gzctf) [![codecov](https://codecov.io/gh/GZTimeWalker/GZCTF/branch/develop/graph/badge.svg)](https://codecov.io/gh/GZTimeWalker/GZCTF) [![Telegram Group](https://img.shields.io/endpoint?color=blue&url=https%3A%2F%2Ftg.sumanjay.workers.dev%2Fgzctf)](https://telegram.dog/gzctf) [![QQ Group](https://img.shields.io/badge/QQ%20Group-903244818-blue)](https://jq.qq.com/?_wv=1027&k=muSqhF9x) [![Discord](https://img.shields.io/discord/1239476909033656320?label=Discord)](https://discord.gg/dV9A6ZjVhC) [English](./README.md), [简体中文](./README.zh.md), [日本語](./README.ja.md) GZ::CTF 是一个基于 ASP.NET Core 的开源 CTF 平台。 ## 功能 🛠️ - 创建高度可定制的题目 - 题目类型:静态附件、动态附件、静态容器、动态容器 - 静态附件:共享附件,接受任何已配置的 flag。 - 动态附件:flag 和附件的数量必须至少等于队伍数量。附件和 flag 根据队伍进行分配。 - 静态容器:共享容器模板,不发放动态 flag,可提交任何已配置的 flag。 - 动态容器:通过容器环境变量自动生成并发放 flag,每个队伍的 flag 是唯一的。 - 动态计分 - 分数曲线: $$f(S, r, d, x) = \left \lfloor S \times \left[r + ( 1- r) \times \exp\left( \dfrac{1 - x}{d} \right) \right] \right \rfloor $$ 其中 $S$ 为原始分数,$r$ 为最低分数比例,$d$ 为难度系数,$x$ 为提交次数。前三个参数可以自定义,以满足大多数动态计分需求。 - 前三解奖励: 平台分别为前三解奖励当前分数的 5%、3% 和 1%。 - 在比赛期间禁用或启用题目,并随时发布新题目。 - 动态 flag 共享检测,可选 flag 模板,leet flag - **队伍**得分时间轴、记分板。队伍可分组 - 基于 **Docker 或 K8s** 的动态容器分发、管理及多端口映射方式 - 基于 SignalR 的**实时**比赛通知、比赛事件和 flag 提交监控,以及日志监控 - SMTP 邮件验证,基于 Cloudflare Turnstile 的恶意注册防护 - 封禁特定用户,三级用户权限管理 - 可选的队伍审核、邀请码、注册邮箱限制 - Writeup 收集、审核和平台内批量下载 - 下载导出的记分板,导出所有提交记录 - 比赛期间监控提交和主要事件日志 - 基于 **TCP over WebSocket 代理**的题目流量转发,可配置流量捕获 - 基于 Redis 的集群缓存,基于 PGSQL 的数据库存储后端 - 基于本地磁盘和**对象存储(MinIO、S3 等)**的存储后端 - 可自定义全局配置、平台标题、记录信息 - 支持**深色模式**、多语言和自定义主题 - 可自定义**网站页脚**、**网站图标**和用于 SEO 的 **html 描述** - 支持指标和分布式追踪 - 以及更多... ## 关于国际化 🌐 目前,平台支持多种语言,翻译进度如下: ### 社区翻译 - 英语 (en-US):完全支持,**默认语言** - 简体中文 (zh-CN):完全支持 - 繁体中文 (zh-TW):完全支持 - 日语 (ja-JP):完全支持,由 [Steve](https://github.com/hez2010) 翻译 - 印尼语 (id-ID):完全支持,由 [Rio](https://github.com/riodrwn) 翻译 - 韩语 (ko-KR):完全支持,由 [Sy2n0](https://github.com/Sy2n0)、[kimjw0427](https://github.com/kimjw0427)、[LittleDev0617](https://github.com/LittleDev0617)、[Jungwoong Kim](https://github.com/jungwngkim) 和 [blluv](https://github.com/blluv) 翻译 - 俄语 (ru-RU):完全支持,由 [FazaN](https://github.com/CyberFazaN) 翻译 - 越南语 (vi-VN):完全支持,由 [Ethical Hacker Club](https://github.com/FPTU-Ethical-Hackers-Club) 翻译 ### 机器和 AI 翻译 - 德语 (de-DE) - 法语 (fr-FR) - 西班牙语 (es-ES) 这些翻译并不完美,我们需要您的帮助来改进它们。 如果您有兴趣参与翻译,请参考 [Crowdin 项目](https://crowdin.com/project/gzctf)。 ## 演示 🗿 ![index.webp](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/a83f89274b185930.webp) ![game.list.webp](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/5b87c6117e185931.webp) ![game.challenges.webp](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/4206e76411185932.webp) ![game.scoreboard.webp](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/4b14c0eef5185933.webp) ![admin.settings.webp](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/50c5625a13185935.webp) ![admin.challenges.webp](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/55c166d0f1185936.webp) ![admin.challenge.info.webp](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/beea2ad6ad185937.webp) ![admin.challenge.flags.webp](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/c20c780c72185938.webp) ![admin.game.info.webp](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/72a31bbdf5185939.webp) ![admin.game.review.webp](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/aacb653738185941.webp) ![admin.game.divisions.webp](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/0bca6627df185942.webp) ![admin.teams.webp](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/dabf2c156e185943.webp) ![admin.instances.webp](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/00df178175185944.webp) ![monitor.game.events.webp](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/363c822dfb185946.webp) ![monitor.game.submissions.webp](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/8ead55128b185947.webp) ## 使用 GZ::CTF 举办的 CTF 🏆 一些赛事组织者已经选择了 GZCTF 并成功完成了他们的比赛。他们的信任、支持和及时反馈是 GZCTF 持续改进的主要动力。 ### 国际赛事 - [**San Diego CTF 2024: 由加州大学圣地亚哥分校举办**](https://ctftime.org/event/2325) - [**R3CTF 2024: 由 r3kapig 举办**](https://ctftime.org/event/2273) - [**TCP1P CTF 2024: 探索努桑塔拉的数字领域**](https://ctftime.org/event/2256/) ### 其他赛事 - **THUCTF 2022:清华大学网络安全技术挑战赛** - **ZJUCTF 2022/2023/2024:浙江大学 CTF** - **SUSCTF 2022/2023/2024:东南大学虎踞龙蟠杯网络安全挑战赛** - **DIDCTF 2022/2023/2024:甘肃政法大学 CTF** - **W4terCTF [2023](https://github.com/W4terDr0p/W4terCTF-2023)/2024:中山大学信息安全新手赛** - **ZJNUCTF [2023](https://github.com/A1natas/zjnuctf-school-contest-2023)/[2024](https://github.com/A1natas/zjnuctf-school-contest-2024):浙江师范大学 CTF** - **Woodpecker:山东科技大学首届网络安全实践竞赛** - **NPUCTF 2022:西北工业大学 CTF** - **SkyNICO 网络空间安全三校联赛(厦门理工学院、福建师范大学、齐鲁工业大学)** - **湖南警察学院网络安全攻防竞赛** - **TongjiCTF 2023:同济大学第五届网络安全竞赛** - **CatCTF 2023/2024:同济大学网络安全竞赛(初级)** - **CTBUCTF 2023:重庆工商大学首届网络安全竞赛** - **NPUCTF 2023 - 西北工业大学首届安全实验技能竞赛** - **XZCTF 2023:浙江师范大学行知学院首届网络安全新手赛** - **ORGCTF 2023:哈尔滨工程大学工程杯新生赛** - **SHCTF 2023:“山河”网络安全技能挑战赛** - **天津科技大学 2023 大学生创客训练营网络安全组选拔赛** - **HYNUCTF 2023:湖南衡阳师范学院玄天网络安全实验室招新赛** - **NYNUCTF S4:南阳师范学院玄天网络安全实验室招新赛** - **商丘师范学院首届网络安全新生挑战赛** - **SVUCTF-WINTER-2023:苏州职业大学 2023 冬季新生赛** - **BIEM CTF 2024:北京经济管理职业学院 - 首届 BIEM“新安杯”CTF 竞赛** - **BUAACTF 2024:北京航空航天大学 CTF** - **曲阜师范大学首届“Qu STAR”网络安全技能竞赛** - **DinoCTF:成都理工大学第 4 届及第 5 届信息安全竞赛** - **RedrockCTF 2024:重庆邮电大学信息安全新手赛** - **WAXFCTF 2024:重庆安全技术职业学院“先锋杯”网络安全技能竞赛** - **ZGCTF 2025:许昌学院第三届“灼光杯”信息安全竞赛** _此列表不分先后顺序,欢迎 PR 补充。_ ## 许可证 📄 GZCTF 采用双重许可: 1. **核心源代码**:根据 **GNU Affero General Public License v3.0 (AGPLv3)** 许可。这涵盖了项目的主要部分,授予您广泛的使用、修改和分发自由。详情请参阅 `LICENSE.txt`。 2. **受限组件**:根据自定义的 **GZCTF 受限许可证** (`LicenseRef-GZCTF-Restricted`) 许可。 - **允许使用和分发**:您可以自由使用和重新分发这些组件(未经修改),前提是保留所有版权声明和许可文本。 - **禁止修改和删除**:未经作者的明确书面许可,您**不得修改、删除、创建衍生作品或反向工程**这些组件。 - **文件列表**:受限组件的完整列表定义在 `PROPRIETARY_COMPONENTS.md` 文件中。 - **完整许可文本**:详细条款请参阅 `license/LicenseRef-GZCTF-Restricted.txt`。 当将 GZCTF 的**修改版本**作为公共服务部署时,您必须: - 在显著位置(例如网站页脚)保留原始版权和归属信息。 - 声明所使用的 GZCTF 版本及其许可证。 - 提供指向原始仓库和原始许可文本的链接。 ### 商标与品牌 - “GZCTF” / “GZ::CTF” 名称、徽标及相关品牌资产是作者的商标。 - 使用受 `TRADEMARKS.md` 管辖。允许描述性引用(例如,“Forked from GZCTF”),但不得暗示官方认可。 另请参阅 `NOTICE` 文件以获取汇总的版权和商标声明。 ## Stars ✨ [![Stargazers over time](https://starchart.cc/GZTimeWalker/GZCTF.svg?variant=adaptive)](https://starchart.cc/GZTimeWalker/GZCTF)
标签:ASP.NET Core, IPv6支持, OPA, Web安全, WSL, 动态flag, 动态容器, 夺旗赛, 子域名突变, 安全竞赛, 开源平台, 搜索引擎查询, 比赛平台, 测试用例, 积分算法, 网络安全, 自动评分, 蓝队分析, 请求拦截, 隐私保护, 静态容器, 靶场, 题目管理