挑战一览

清除筛选

43 题 (第 1 / 2 页)

数字取证难度 3★★★☆☆

从 Chrome 浏览器提取会话 Cookie

给你从 Linux 版 Chrome 配置文件中取出的 `/challenge/Cookies` 和 `/challenge/History`(都是 SQLite)。 受害者点击内部邮件中的链接,经过一个伪造的 SSO…

数字取证难度 3★★★☆☆

检测 DNS 隧道

从 `dns_queries.log` 中检测 DNS 隧道造成的数据外传,并恢复 flag。

基础技能难度 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 密钥中包含的旗标。

Linux难度 3★★★☆☆

Linux-Capabilities:不依赖 SUID 的提权

系统中特定二进制文件被授予 Linux capabilities。请研究不使用 SUID 位的 capabilities 提权方法。

Linux难度 3★★★☆☆

Linux-SUID:通过 find 理解提权风险

系统有一份设置了 SUID 位的 `find` 副本。本题在隔离环境中演示此类危险配置为何可导致高权限 shell。

Linux难度 3★★★☆☆

Linux-proc 内存:查看进程环境变量

持续运行的守护进程将旗标保存在环境变量中。请通过 `/proc` 文件系统检查该进程。

Linux难度 3★★★☆☆

Linux-strace:追踪系统调用找出文件

提供的二进制既不输出到标准输出也不落盘。它从隐藏文件读取密钥,在内存中还原旗标并写入 /dev/null。请用 strace 追踪系统调用,找出哪一个调用的参数暴露了旗标。

Linux难度 3★★★☆☆

Linux-竞争条件:分析 TOCTOU 窗口

root 定期运行的清理脚本在检查与处理文件之间存在 TOCTOU 间隙;本题用于理解符号链接与时序风险。

数字取证难度 3★★★☆☆

从 NTFS $MFT 查找已删除文件痕迹

给你把 Windows 终端 `KINOCO-WS07` 的 `$MFT` 按记录导出的文本 `/challenge/mft_records.txt`(开头给出簇大小和转储的起始 LCN),以及卷 C: 的簇原始数据…

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

Python API:接口自动化

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

编程难度 3★★★☆☆

Python 自动化:分析 SQLite 数据库

请分析每次启动时生成的 data.db(SQLite,含 users / orders / audit_log)。按 user_id 对 orders 做 SUM(amount) 聚合,找出订单总额最高的前 3…

编程难度 3★★★☆☆

Python 自动化:解密自定义密码

`cipher.txt` 以十六进制保存经自定义密码加密的旗标。加密逐字节执行 add(密钥加法)-> xor(位置相关)-> rotl(循环移位);请按逆序实现解密。完整规格见 `python3 challenge.py`。

编程难度 3★★★☆☆

Python 自动化:破解加密 ZIP 密码

每次启动都会生成 /challenge/secret.zip。其中有 flag.txt 和 readme.txt,使用 ZipCrypto 加密。密码是 /challenge/wordlist.txt 中的一个词再加上两位数字(00 到…

基础技能难度 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★★★☆☆

算法:迷宫中的 BFS 最短路径

请用 BFS 求 `data.txt` 中从 S 到 E 的最短路径,并将 UDLR 移动序列输入 `challenge.py`。正确路径会显示启动时注入的 FLAG。

数字取证难度 3★★★☆☆

从事件日志检测暴力破解

分析服务器 `kinoco-srv01` 的 sshd 认证日志 `/challenge/auth.log`,找出暴力破解成功的攻击者会话。 这台服务器是蜜罐,每打开一个会话,PAM 模块都会发放一个金丝雀令牌,并按下面的形式掩码后记录。…

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

strace 调试:跟踪程序行为

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

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

journalctl:分析 systemd 日志

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