挑战一览
Web-11. 员工门户 SQL 注入
KinoGadget 的内部员工访问门户使用旧式认证系统。据说开发者会直接用输入拼接动态 SQL;请尝试以管理员身份进入。
Web-12. BlogSearch 中的反射型 XSS
BlogSearch 是一个简单的博客搜索引擎。搜索词会原样(未转义)嵌入结果页。旗标在只有网站管理员的浏览器才持有的会话 Cookie(session_flag)中。请构造反射型 XSS 的…
Web-13. 绕过 ImageVault 文件上传检查
ImageVault 可上传 JPG、PNG 和 GIF 图片。若验证只检查文件名结尾,哪些不允许的文件可能会蒙混过关?
Web-14. 网络诊断工具中的命令注入
该应用根据输入的主机名执行 ping。若主机输入被直接传给 shell 命令,会发生什么?
Web-15. UserProfile 服务中的 IDOR
UserProfile 服务允许查看用户资料。检查直接对象引用的访问控制是否正确,并尝试访问不属于自己的记录。
Web-16. CHIMERA 研究实验室中的弱 JWT 密钥
CHIMERA 研究实验室使用 JWT 管理会话。请分析令牌签名是否使用了容易猜测的密钥,并尝试取得管理员权限。
Web-17. FileShare 中的路径遍历
FileShare 用于列出和下载共享目录中的文件。请检查传给下载端点的文件名参数是否经过正确验证。
Web-18. 联系表单中的 XXE 攻击
该联系表单把输入转成 XML 发给服务器,服务器解析后回显结果。请检查 XML 解析器配置是否会意外读取文件。
Web-19. 银行应用中的 CSRF 转账
该银行应用允许已登录用户转账。请检查其他网站能否代替受害者发起转账,从而判断是否缺少 CSRF 防护。
Web-20. 通过 URL Fetcher 实施 SSRF
URL Fetcher 会获取并显示用户提供的任意 URL 内容。请尝试让它访问只有服务器本身才能到达的内部服务。
文本处理大师:sed 与 awk
`/app/data.csv` 的第 2 列价格需至少为 1000;把第 3 列中的 `_` 改为空格,并为第 1 列添加 `PROD-`。处理后第一行的商品名是旗标。
进程猎人:隐藏进程
名为 `secret_service` 的后台进程把旗标放在命令行参数中。请找出它的 PID、运行用户和完整参数。
日志分析:找出入侵者
`/app/auth.log` 记录认证事件。找出一小时内失败登录至少 10 次的 IP,并取得该 IP 的第一次失败时间戳。日志格式:`[YYYY-MM-DD HH:MM:SS] Failed login from…
压缩迷宫:多层归档文件
`/app/flag.tar.gz` 是多层压缩文件:`flag.tar.gz → flag.tar → flag.zip.bz2.gz → flag.zip.bz2 → flag.zip → flag.txt`。请逐层解压并读取最终文件。
正则表达式大师:日志文件分析
`/app/access.log` 有数千条访问记录。提取 IP 以 `192.168.1.` 开头且状态码为 `404` 的记录,匹配行数即为旗标。
环境变量大师:PATH 劫持
隐藏命令 `getflag` 位于 `/app/secret_bin`,但目录未在 `PATH` 中。请用绝对路径和修改 `PATH` 两种方式运行它。
Docker 取证:检查容器证据
在没有 Docker 守护进程的环境中调查镜像 `registry.internal/kinoco-billing-api:2.4.1` 的元数据:`/challenge/image_history.txt`(相当于 `docker…
从 Git 历史中找出被删除的 API 密钥
`/app/repo` 是一个 Git 仓库。开发者曾误将 API_KEY 提交,并在后续提交中将其删除。请查看正常的 Git 历史,找到删除前的 `config.py`,恢复其 API 密钥中包含的旗标。
Linux-Capabilities:不依赖 SUID 的提权
系统中特定二进制文件被授予 Linux capabilities。请研究不使用 SUID 位的 capabilities 提权方法。
Linux-SUID:通过 find 理解提权风险
系统有一份设置了 SUID 位的 `find` 副本。本题在隔离环境中演示此类危险配置为何可导致高权限 shell。
Linux-proc 内存:查看进程环境变量
持续运行的守护进程将旗标保存在环境变量中。请通过 `/proc` 文件系统检查该进程。
Linux-strace:追踪系统调用找出文件
提供的二进制既不输出到标准输出也不落盘。它从隐藏文件读取密钥,在内存中还原旗标并写入 /dev/null。请用 strace 追踪系统调用,找出哪一个调用的参数暴露了旗标。
Linux-竞争条件:分析 TOCTOU 窗口
root 定期运行的清理脚本在检查与处理文件之间存在 TOCTOU 间隙;本题用于理解符号链接与时序风险。
Python API:接口自动化
容器内在 `http://127.0.0.1:8000/api/records?page=N` 运行一个分页本地 API。请遍历所有页面直到 `next` 为 `null`,只收集 `tag == "flag"` 的记录;每条形如…