你将学到什么
- 解析并转换证据数据
- 将调查拆分为可验证步骤
- 自动化重复的安全分析
编写小型程序来转换数据、自动化调查,并解决难以手工完成的安全任务。
共 47 题。
安全工作常需用编程处理大量数据。本题的 `data.txt` 有 100 行文本,其中一行包含旗标;请补全 Python 代码并找出它。
容器启动时,股票 API 会在 http://localhost:9102 上运行(无需自己启动 server.py)。请通过 GET /api/stocks 和 GET /api/stocks/<symbol> 获取 5 只股票共约…
data.txt(约 150 行,每次启动时生成)的每一行都是 Base64。请逐行解码,如果结果以 "b64:" 开头,就把剩余部分再做一次 Base64 解码(有些行嵌套多层)。无法解码的行(损坏的…
每次启动时生成的 data.txt 是销售 CSV(transaction_id,date,product_id,amount,status,ref,notes)。同时满足 amount >= 10000、status 为…
请分析每次启动时生成的 JSON 文件 data.txt({"users": [...]})。每个用户包含 id、name、email、role、active、token。同时满足 role 为 "admin"(完全一致)、active…
data.txt(约 1300 行,每次启动时生成)是 Web 服务器的访问日志。请只提取来自 192.168.1.100 的访问(混入了 192.168.1.10、192.168.1.101 等相似的诱饵 IP)。这个 IP 通过…
data.txt(约 150 行,每次启动时生成)的每一行都是 Base64。请逐行解码,如果结果以 "b64:" 开头,就把剩余部分再做一次 Base64 解码(有些行嵌套多层)。无法解码的行(损坏的…
每次启动时生成的 data.txt 是销售 CSV(transaction_id,date,product_id,amount,status,ref,notes)。同时满足 amount >= 10000、status 为…
请分析每次启动时生成的 JSON 文件 data.txt({"users": [...]})。每个用户包含 id、name、email、role、active、token。同时满足 role 为 "admin"(完全一致)、active…
data.txt(约 1300 行,每次启动时生成)是 Web 服务器的访问日志。请只提取来自 192.168.1.100 的访问(混入了 192.168.1.10、192.168.1.101 等相似的诱饵 IP)。这个 IP 通过…
请分析每次启动时随机生成的 data.txt(SHA-256 哈希列表)和 wordlist.txt(800 个由 4 位小写字母和数字组成的 token)。data.txt 的每一行要么是诱饵 sha256(word)(word 是…
/challenge/jobs.log 是每次容器启动都会用随机数据重新生成的夜间批处理日志。每一行是一次作业运行,key=value 字段以空格分隔。请只选出 job 恰好为 archive 且 status 为 ok 的行,把每个…
/challenge/vault.json 是每次容器启动都会用随机数据重新生成的金库记录,其中有 salt(十六进制字符串)和 pin_hash = sha256(salt + pin)(把 salt 与 6 位 pin…
请分析每次启动时随机生成的证据文件 artifact-manifest.json。每个 artifact(artifact_00 到 artifact_09)有多条记录(name、sha256、data),只有 data 经…
/challenge/capture.bin 是每次容器启动都会用随机数据重新生成的自定义二进制文件。开头 4 字节为 KBIN,之后是 TLV 记录(type 1 字节、length 2 字节大端、value),type…
从 `data.txt` 提取所有 `KINO-四位数字-四位大写字母` 标记,找出只出现一次的值并输入 `challenge.py`;正确时显示启动时注入的 FLAG。
请分析每次启动时生成的 data.db(SQLite,含 users / orders / audit_log)。按 user_id 对 orders 做 SUM(amount) 聚合,找出订单总额最高的前 3…
`cipher.txt` 以十六进制保存经自定义密码加密的旗标。加密逐字节执行 add(密钥加法)-> xor(位置相关)-> rotl(循环移位);请按逆序实现解密。完整规格见 `python3 challenge.py`。
每次启动都会生成 /challenge/secret.zip。其中有 flag.txt 和 readme.txt,使用 ZipCrypto 加密。密码是 /challenge/wordlist.txt 中的一个词再加上两位数字(00 到…
请用 BFS 求 `data.txt` 中从 S 到 E 的最短路径,并将 UDLR 移动序列输入 `challenge.py`。正确路径会显示启动时注入的 FLAG。
evidence.db 是每次启动时用随机数据生成的 SQLite 数据库(位于 /challenge,包含 users / sessions / access_log 三张表)。对 trust_score 不低于 80…
site.json 是每次启动时用随机数据生成的抓取结果(位于 /challenge),包含 start 与 target 的 URL,以及每个页面的 url / links / fragment(Base64 片段)。请求出从…
secret.zip 是每次启动时创建的、用 ZipCrypto(传统 PKWARE 加密)加密的 ZIP(位于 /challenge,同目录有 wordlist.txt)。密码是 wordlist.txt 中的某一个词,后面再加 2…
capture.txt 是每次启动时创建的数据包日志(位于 /challenge)。每行是一个流,格式为 flow=<名称> payload_hex=<十六进制>。将 payload_hex 与 0x5A 做 XOR 解密并还原…