挑战一览

清除筛选

51 题 (第 2 / 3 页)

编程难度 2★★☆☆☆

Python 自动化:批量 Base64 解码

data.txt(约 150 行,每次启动时生成)的每一行都是 Base64。请逐行解码,如果结果以 "b64:" 开头,就把剩余部分再做一次 Base64 解码(有些行嵌套多层)。无法解码的行(损坏的…

编程难度 2★★☆☆☆

Python 自动化:筛选 CSV 销售数据

每次启动时生成的 data.txt 是销售 CSV(transaction_id,date,product_id,amount,status,ref,notes)。同时满足 amount >= 10000、status 为…

编程难度 2★★☆☆☆

Python 自动化:查询 JSON 用户数据

请分析每次启动时生成的 JSON 文件 data.txt({"users": [...]})。每个用户包含 id、name、email、role、active、token。同时满足 role 为 "admin"(完全一致)、active…

编程难度 2★★☆☆☆

Python 自动化:解析访问日志

data.txt(约 1300 行,每次启动时生成)是 Web 服务器的访问日志。请只提取来自 192.168.1.100 的访问(混入了 192.168.1.10、192.168.1.101 等相似的诱饵 IP)。这个 IP 通过…

编程难度 2★★☆☆☆

Python 自动化:破解密码哈希

请分析每次启动时随机生成的 data.txt(SHA-256 哈希列表)和 wordlist.txt(800 个由 4 位小写字母和数字组成的 token)。data.txt 的每一行要么是诱饵 sha256(word)(word 是…

密码学难度 2★★☆☆☆

RC4 流密码的弱点

RC4 曾被广泛使用,但如今已不推荐。本入门题着重识别提供的数据格式。 Base64 字符串: S0lOT0NPe3JjNF9pc19kZXByZWNhdGVkfQ== 它实际上并不是 RC4 密文,请按 Base64 解码取得旗标。

密码学难度 2★★☆☆☆

维吉尼亚密码解密

维吉尼亚密码由多个凯撒密码组合而成。已知密钥长度时,请解密密文并取得 flag。 密文: KMNRCS{vlginhri_clpleu_axtdco} 密钥长度为 4 个字符。请解密并提交旗标。

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

从 Windows 注册表查找 USB 历史

分析 SYSTEM 文件(用文本表示的注册表 hive 的 USBSTOR 部分),确定 2025-11-19 14:45(UTC)前后接入的 USB 设备,并从该设备记录的值中获取 flag。学习 Windows 取证的基础。…

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

从磁盘镜像中寻找秘密文件

检查 ext4 文件系统的磁盘镜像 `disk.img`,找出文件系统中隐藏的秘密备份并取得 flag。 容器内无法 mount,请用 debugfs 直接遍历文件系统。

密码学难度 2★★☆☆☆

寻找哈希碰撞

MD5 可实际构造不同输入却具有同一哈希值的碰撞。碰撞抗性已失效的哈希不应再用于安全敏感的完整性保护或签名。 据称具有相同 MD5 的两个文件: file_a != file_b md5(file_a) =…

密码学难度 2★★☆☆☆

哈希长度扩展攻击

对 MD5、SHA-1、SHA-256 等 Merkle–Damgård 哈希,直接以 `hash(secret || message)` 作为签名可能受到长度扩展攻击。 已知消息与 SHA-256: message =…

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

从数据包捕获中寻找密码

分析 `traffic.pcap` 中的 HTTP 登录请求,找出管理员提交的密码。

密码学难度 2★★☆☆☆

填充预言机入门

填充预言机攻击会利用不同错误响应作为恢复明文的信号。本入门题请从泄露的 Base64 字符串中读取 flag。 泄露的 Base64 字符串: Vmlld1NvdXJjZTpLSU5PQ097cGFkZGluZ19vcmFjbGVfYmF…

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

根据文件时间戳确定入侵时刻

分析 evidence/ 中多个文件的修改时间,确定入侵发生的时间段以及与之相关的隐藏文件。隐藏文件的内容不一定能直接读懂。 学习时间线分析的基础。

编程难度 2★★☆☆☆

编程:Bash 脚本

/challenge/jobs.log 是每次容器启动都会用随机数据重新生成的夜间批处理日志。每一行是一次作业运行,key=value 字段以空格分隔。请只选出 job 恰好为 archive 且 status 为 ok 的行,把每个…

编程难度 2★★☆☆☆

编程:PIN 暴力匹配

/challenge/vault.json 是每次容器启动都会用随机数据重新生成的金库记录,其中有 salt(十六进制字符串)和 pin_hash = sha256(salt + pin)(把 salt 与 6 位 pin…

编程难度 2★★☆☆☆

编程:哈希计算

请分析每次启动时随机生成的证据文件 artifact-manifest.json。每个 artifact(artifact_00 到 artifact_09)有多条记录(name、sha256、data),只有 data 经…

编程难度 2★★☆☆☆

编程:二进制 TLV 解析

/challenge/capture.bin 是每次容器启动都会用随机数据重新生成的自定义二进制文件。开头 4 字节为 KBIN,之后是 TLV 记录(type 1 字节、length 2 字节大端、value),type…

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

从内存转储中查找进程

memory.dump 是将内存转储的分析结果(pslist / psscan / cmdline)排列在一起的简化文本。请找出在进程列表中被隐藏的可疑进程,并从它携带的配置值中读出 flag。学习内存取证的基础。…

密码学难度 2★★☆☆☆

彩虹表攻击

未加盐的快速哈希可被预计算反查数据库轻易还原。请反查给出的 MD5 哈希。 MD5 哈希: 5f4dcc3b5aa765d61d8327deb882cf99 请反查该哈希,并把原始字符串以 KINOCO{...} 的形式提交。

密码学难度 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★★☆☆☆

破解小型 RSA 密钥

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