挑战一览

基础技能难度 3★★★☆☆

Docker 取证:检查容器证据

在没有 Docker 守护进程的环境中调查镜像 `registry.internal/kinoco-billing-api:2.4.1` 的元数据:`/challenge/image_history.txt`(相当于 `docker…

基础技能难度 3★★★☆☆

从 Git 历史中找出被删除的 API 密钥

`/app/repo` 是一个 Git 仓库。开发者曾误将 API_KEY 提交,并在后续提交中将其删除。请查看正常的 Git 历史,找到删除前的 `config.py`,恢复其 API 密钥中包含的旗标。

基础技能难度 3★★★☆☆

Python API:接口自动化

容器内在 `http://127.0.0.1:8000/api/records?page=N` 运行一个分页本地 API。请遍历所有页面直到 `next` 为 `null`,只收集 `tag == "flag"` 的记录;每条形如…

基础技能难度 3★★★☆☆

SQL 查询大师:复杂连接

SQLite 数据库 `/challenge/company.db` 有三张表: - employees (id, name, department_id, salary, email, note) - departments (id,…

Web 安全难度 3★★★☆☆

Web-21. Secure User Search 中的盲注

该用户搜索应用只报告用户名是否存在,并不直接显示查询结果。请利用错误或响应差异推断隐藏信息。

Web 安全难度 3★★★☆☆

Web-22. Secure Comment Board 的 CSP 绕过

这个评论板受内容安全策略(CSP)保护,只允许本站和受信任 CDN 的脚本。请注意:受信任 CDN 上的内容也不一定安全。

Web 安全难度 3★★★☆☆

Web-23. Secure Authentication System 的类型转换陷阱

该登录门户提供表单登录、JSON API 登录和验证码检查。管理员真实密码未知,但比较操作的实现可能允许绕过。

Web 安全难度 3★★★☆☆

Web-24. 利用 Secure Bank 的竞态条件

Secure Bank 可用余额中的金币购买奖品。若余额检查和扣款不是原子操作,请思考如何利用两者之间的空隙。

Web 安全难度 3★★★☆☆

Web-25. Greeting Card Generator 中的 SSTI

该贺卡生成器以 Flask/Jinja2 构建,会把用户消息直接交给模板引擎渲染。请检查模板语法能被执行到何种程度。

基础技能难度 3★★★☆☆

strace 调试:跟踪程序行为

`/challenge/strace.log` 是用 strace 跟踪无源代码程序 `/app/mystery_program` 得到的记录。程序会读取多个内容形似令牌(`KINOCO{...}`)的文件,但同时满足以下两个条件的只有一…

基础技能难度 3★★★☆☆

journalctl:分析 systemd 日志

分析以 `journalctl -o short` 格式导出的 systemd 日志 `/challenge/system.log`。每行格式为“时间 主机 单元[PID]: 优先级: 消息”。单元字段为 `authd` 且优先级字段为…

基础技能难度 3★★★☆☆

Netcat:离线回调记录分析

无需连接任何外部主机,请分析预先记录的 `artifacts/netcat/callback-transcript.log`,不会启动 listener 或 shell。在连接列表中找到从被攻陷主机 `10.0.5.23` 连到…

基础技能难度 3★★★☆☆

性能分析:定位资源瓶颈

分析服务器快照 `/challenge/metrics.log`。前半部分是 top 风格的进程表(%CPU 在第 9 列,%MEM 在第 10 列),后半部分是 ps -ef 风格的完整命令行列表。%CPU 不低于 50.0 且…

密码学难度 3★★★☆☆

密码分析:RSA 共模攻击

两个系统共用同一个 RSA 模数 n,只改变了公开指数。同一条消息分别用 e1 和 e2 加密得到的密文 c1、c2 已经泄露(`public_keys.txt`、`ciphertexts.txt`)。n…

密码学难度 3★★★☆☆

密码分析:小素数 Diffie-Hellman

一台旧 IoT 设备使用只有 36 位的素数 p 进行 Diffie-Hellman 密钥交换。`handshake.txt` 中有 p、g、`A = g^a mod p`、`B = g^b mod…

基础技能难度 3★★★☆☆

高级正则表达式:复杂模式匹配

/challenge/data.txt 有 400 行联系记录,每行以不同顺序和标签包含邮箱、电话号码、IP 地址和日期,最后是 memo="..."。有些字段格式损坏,有些行缺少字段。 同时以正确格式包含以下全部内容的行只有一行,其…

基础技能难度 3★★★☆☆

高级 Bash:复杂脚本处理

`/challenge/logs/` 中有 4 台 Web 前端的访问日志(combined log format,60 个文件,超过 10 万行)。WAF 为许多来源 IP 各留下了一行 `waf_rule=...…