LazaroL0209/ctf-project
GitHub: LazaroL0209/ctf-project
一个使用纯前端技术构建的单文件 CTF 挑战生成器,解决无需服务器的脱机夺旗场景问题。
Stars: 0 | Forks: 0
# CTF 挑战项目
一个用于构建单个、自包含的夺旗(CTF)挑战的项目,最终输出为一个可运行的 `.html` 文件。
由一个 6 人团队共同完成,参考分析了 [picoCTF](https://picoctf.org) 和 [TryHackMe](https://tryhackme.com)。
## 团队角色
| 成员 | 角色 |
|------|------|
| 成员 1 | UI/HTML 结构与文件负责人 |
| 成员 2 | 核心谜题逻辑(JavaScript) |
| 成员 3 | Flag 编码与答案验证 |
| 成员 4 | 挑战文本、提示与背景内容 |
| 成员 5 | 游戏化与反馈元素 |
| 成员 6 | 游戏测试与质量保证 |
## 项目目标
设计与编写一个原创的 CTF 问题,风格参考研究阶段分析过的平台。
- 交付物:一个可运行的 `src/ctf_challenge.html` 文件
- 该文件必须能在本地浏览器直接打开运行,无需服务器
- Flag 不得以明文形式出现在源代码中
## 文件夹结构
```
ctf-project/
├── README.md <- You are here
├── src/
│ └── ctf_challenge.html <- Final deliverable (main file)
├── docs/
│ ├── concept_brief.md <- Day 1: agreed problem concept & flag format
│ ├── design_notes.md <- UI decisions and layout notes
│ └── flag_spec.md <- Flag string, encoding method, validation logic
├── assets/
│ └── (any images, icons, or external files used in the challenge)
├── testing/
│ ├── playtest_log.md <- Person 6's blind playtest notes
│ └── bug_tracker.md <- Known bugs and fix status
└── notes/
├── tryhackme_analysis.md <- Summary of TryHackMe weaknesses
└── picoctf_analysis.md <- Summary of picoCTF strengths
```
## 14 天冲刺计划
### 第 1 周 — 构建基础
**第 1 天 — 启动会议(全体成员)**
- [ ] 召开小组会议:展示并投票选出 3–4 个挑战创意
- [ ] 确定问题类别(例如:密码、Web 漏洞利用、隐写术、逻辑谜题)
- [ ] 定义 Flag 格式(例如:`FLAG{your_text_here}`)
- [ ] 成员 1 创建 GitHub 仓库并共享访问权限
- [ ] 在 `docs/concept_brief.md` 中记录达成一致的创意
**第 2 天 — 并行启动(成员 1 + 成员 2)**
- [ ] 成员 1:创建基础 `src/ctf_challenge.html`,包含页面骨架(标题、描述区域、提示切换、输入框、提交按钮)
- [ ] 成员 1:应用基础 CSS — 简洁卡片布局、易读字体、一致配色方案(参考 picoCTF 的简洁设计)
- [ ] 成员 2:开始起草谜题机制的 JavaScript 代码(可放在独立文件或 `