jdtherobot/jd-ctf-environment
GitHub: jdtherobot/jd-ctf-environment
为隐写术 CTF 提供浏览器内可直接运行的 32 位 Linux 实验环境和配套游戏,实现零安装参赛体验。
Stars: 0 | Forks: 0
# JD CTF — 环境
隐写术 CTF 的**可运行环境**:一个浏览器内的 32 位 Linux 实验室,玩家无需安装任何软件即可解决挑战,此外还包含挑战 3 中使用的可玩仓库游戏。这是挑战/内容仓库的配套项目:
**→ 挑战、简报、题解和答案:[`jdtherobot/steganography-ctf`](https://github.com/jdtherobot/steganography-ctf)**
请区分这两个项目:
- **`steganography-ctf`** = CTF 本身(你玩的内容及其运作方式)。
- **本仓库** = 它运行所依赖的*环境*(浏览器实验室 + 仓库游戏 + 托管配置)。
## 包含内容
```
browser-lab/ In-browser 32-bit Linux lab (v86 + xterm). Chooser landing, terminal,
the disk-image build recipe, and the i386 toolchain feasibility proof.
warehouse-game/ The top-down warehouse (Challenge 3's clue delivery). Self-contained static site.
deploy/lab/ Hosting configs for the lab (COOP/COEP headers for CheerpX; v86 needs none).
participant/ ⚠ Lab INPUTS ONLY — the sanitized player files the lab image bakes in
build/ (challenge files + briefs + trimmed wordlist + the secret-scan gate).
These are copies; the authoritative originals live in steganography-ctf.
```
## 本地运行
**浏览器实验室**(你的浏览器中的一个真实的 32 位 Linux 终端):
```
cd browser-lab
python3 -m http.server 8001 # → http://localhost:8001 (index.html = chooser; terminal.html = shell)
```
**仓库游戏:**
```
python3 -m http.server 8002 # from the repo root → http://localhost:8002/warehouse-game/
```
请使用真实的服务器,而不是 `file://` —— 两者都依赖于被 `file://` 阻止的浏览器 API。该实验室还需要互联网连接(它会从 CDN 加载 v86/xterm 并获取引导镜像)。
## 构建实验室磁盘镜像
`browser-lab/image/` 包含可复现的配方(Dockerfile 和 `build-image.sh`),它将工具包(`steghide`、`openssl`、`binwalk`、`python3`、`exiftool` 等)以及经过净化处理的玩家文件打包成一个可引导的镜像。详情请参阅 `browser-lab/image/README.md`。该工具链已经过验证——它可以在真实的 32 位容器中解决挑战 2 和挑战 4(`browser-lab/feasibility/i386-toolchain-proof.md`)。
## 托管
`browser-lab/ENGINE_DECISION.md` 目前推荐使用 **v86 + GitHub Pages**(无需特殊的 headers),并以 **CheerpX + Cloudflare Pages**(`deploy/lab/_headers`)作为 GUI 的升级路径。详情请参阅 `deploy/lab/README.md`。
## 路线图
近期目标是从浏览器环境**内部**启动仓库游戏,以便玩家可以在同一个地方完成挑战 3 的所有内容。目前,该游戏是一个由 CTF 链接到的独立站点。
## 学术用途
一个经过授权、自包含的教育环境,仅对提供的本地文件进行操作——不涉及任何第三方系统、实时服务或真实凭证。完整声明请见[内容仓库](https://github.com/jdtherobot/steganography-ctf/blob/main/facilitator/ACADEMIC_USE.md)。
标签:后端开发, 请求拦截