挑战一览

清除筛选

223 题 (第 5 / 10 页)

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

日志分析:找出入侵者

`/app/auth.log` 记录认证事件。找出一小时内失败登录至少 10 次的 IP,并取得该 IP 的第一次失败时间戳。日志格式:`[YYYY-MM-DD HH:MM:SS] Failed login from…

密码学难度 2★★☆☆☆

一次一密密钥复用攻击

一次一密仅在密钥只使用一次时安全。复用同一密钥时,可由已知明文恢复另一段明文。 用同一密钥加密的两个密文: ciphertext1_hex = 1c0a070901 known_plaintext1 = HELLO…

密码学难度 2★★☆☆☆

可预测的随机数

固定种子的伪随机输出可被复现;通用随机数生成器不能用于加密机密。 旗标生成代码: import random random.seed(12345) flag_chars = [chr(random.randint(65, 90))…

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

恢复已删除文件

从磁盘镜像中恢复被删除的压缩文件(ZIP),并在其中的备忘录里找到 flag。 学习如何使用文件雕刻工具恢复已删除的文件。 提供文件:disk_image.dd

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

压缩迷宫:多层归档文件

`/app/flag.tar.gz` 是多层压缩文件:`flag.tar.gz → flag.tar → flag.zip.bz2.gz → flag.zip.bz2 → flag.zip → flag.txt`。请逐层解压并读取最终文件。

密码学难度 2★★☆☆☆

破解小型 RSA 密钥

RSA 依赖足够大的素数。本题的 `n` 过小;请分解它、求出私钥指数,并解密密文数列。 公钥与密文: n = 323 e = 5 ciphertexts = [115, 181, 241, 109, 109, 57, 190,…

密码学难度 2★★☆☆☆

密码分析:破解仿射密码

`ciphertext.txt` 是用仿射密码 `E(x) = (a×x + b) mod 26` 加密的英文报告,大小写保持不变,非字母字符原样保留。请以明文以单词 KINOCO 开头为线索求出密钥 a、b 并解密,提交最后一行中的旗标。

编程难度 2★★☆☆☆

正则表达式:只出现一次的黄金标记

从 `data.txt` 提取所有 `KINO-四位数字-四位大写字母` 标记,找出只出现一次的值并输入 `challenge.py`;正确时显示启动时注入的 FLAG。

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

正则表达式大师:日志文件分析

`/app/access.log` 有数千条访问记录。提取 IP 以 `192.168.1.` 开头且状态码为 `404` 的记录,匹配行数即为旗标。

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

环境变量大师:PATH 劫持

隐藏命令 `getflag` 位于 `/app/secret_bin`,但目录未在 `PATH` 中。请用绝对路径和修改 `PATH` 两种方式运行它。

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

图像 LSB 中隐藏的消息

从 `image.png` 的最低有效位(LSB)隐写数据中恢复 flag。

数字取证难度 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`。