挑战一览
高级 Python:执行自定义 VM 字节码
`program.kvm` 是自定义四寄存器 VM 的字节码。根据 README 的指令规格实现 Python 解释器,并恢复 VM 输出。
Web-26. User Profile Manager 中的原型污染
在这个 Node.js/Express 应用中,已登录用户能更新自己的资料。请检查用于更新的递归合并函数是否过滤了特殊键。
Web-27. GraphQL API 的内省信息泄露
该 GraphQL API 公开 User 对象的 schema,并启用了内省。请调查默认界面之外是否存在未记录的查询或字段。
Web-28. 劫持 OAuth 授权码
该 OAuth 2.0 授权提供方提供登录流程,但对 redirect_uri 的校验可能过弱。请尝试劫持授权码并取得管理员级访问令牌。
Web-29. MongoDB 登录表单中的 NoSQL 注入
该登录门户使用 MongoDB,并把用户名和密码 JSON 直接放入查询。请尝试在不知道真实密码时以管理员身份登录。
Web-30. KinoVault 中的不安全反序列化
旧式备份系统 KinoVault 据称用 Python `pickle` 序列化用户会话并存进 Cookie。请分析 Cookie 格式,并检查构造的 pickle 是否能提升权限。
二进制修复:固件头与 CRC32
修复 `firmware.bin`:将 byte 0-3 写为 `KINO`,并把 byte 12 之后数据的 little-endian CRC32 写回 byte 8-11。将修复文件交给 `challenge.py`…
编程:C2 通信分析
请分析每次启动时随机生成的合成日志 beacon.log(不需要网络连接)。多台主机(会话)的通信按时间顺序混在一起。每个会话在第一条 hello 中发送 nonce,该会话的密钥是 SHA-256(b"beacon-v1" +…
编程:缓冲区溢出崩溃报告分析
请分析每次启动时随机生成的崩溃报告 crash_01.txt 到 crash_06.txt(不含可执行代码)。每份报告都写有发送的输入本身(input:)和崩溃时的指令指针(32 位为 eip,64 位为 rip)。…
编程:模糊测试结果分析
请分析每次启动时随机生成的模糊测试结果日志 fuzz-results.log(输入只是被保存下来,不会被执行)。每行是一个用例,格式为 `case=<6 位十六进制> result=<OK|TIMEOUT|CRASH>…
编程:区块链事件重组
/challenge/blocks.json 是每次容器启动都会用随机数据重新生成的离线开发链区块列表(顺序是乱的,并包含因分叉产生、不在规范链上的孤立区块)。请从 height 最大的区块沿 parent_hash…
编程:Rootkit 视图差异
proc_ps.txt(用户空间 ps 的结果)与 proc_kernel.txt(直接遍历内核任务链表的结果)每次启动时用随机数据生成(位于 /challenge)。两者第一行都有采集时间 snapshot_time(UNIX…
编程:异常检测
/challenge/requests.csv 是每次容器启动都会用随机数据重新生成的 Web API 访问记录(request_id, timestamp, path, status, latency_ms,…
编程:渗透测试框架
findings.json 是每次启动时用随机数据生成的扫描结果(位于 /challenge),包含 entry(edge-gw)、objective(vault)和主机列表 hosts;每台主机的 findings 中有 id(6…
编程:异步扫描器
/challenge/scan-events.jsonl 是每次容器启动都会用随机数据重新生成的异步端口扫描器事件记录(行顺序是乱的,部分事件重复)。对 state 事件,每个 (host, port) 中 t…
密码分析:DSA nonce 复用导致的私钥恢复
每次启动都用新密钥生成的 /challenge/signatures.json 中包含 DSA 公开参数(p 为 1024 位,q 为 160 位,以及 g、y)、4 份签名(message、h、r、s,其中 h 是…
密码分析:RSA 的 Wiener 攻击
某嵌入式设备团队为了加快解密,把 RSA 私钥指数 d 设得非常小。`public_key.txt` 中的公开指数 e 几乎与 n 一样大。请从 e/n 的连分数展开求出 d,解密 `ciphertext.txt` 并取出旗标。
密码分析:恢复线性同余生成器的参数
某服务用参数 a、c、m 均保密的线性同余生成器 `x_{k+1} = (a×x_k + c) mod m` 同时生成会话令牌和加密密钥流。请从 `tokens.txt` 中连续的 10 个输出恢复 a、c、m,再解密用后续输出(每个…
高级 Python:还原并发事件 DAG 因果关系
`events.jsonl` 混合了多个服务和 trace 的乱序事件。从标记的 auth.failed 事件出发,沿 parent 引用的因果 DAG,按逻辑时钟连接可达的 worker.decrypt 片段。
编程:APT 模拟
/challenge/events.jsonl 是把多个主机收集到的安全日志合并而成的文件,每次容器启动都会用随机数据重新生成(行顺序是乱的)。ts 是 ISO 8601…
编程:AI 漏洞检测
/challenge/corpus/*.py 是每次容器启动都会用随机数据重新生成的代码审计用 Python 源码(请不要执行)。每个函数都带有 @audit_id(6 位十六进制)。如果函数以 shell=True 调用…
编程:AWS 渗透测试
/challenge/iam.json 包含用户、组和策略,/challenge/s3_objects.json 是 S3 对象列表(bucket、key、etag),两者都会在每次容器启动时用随机数据重新生成。请按 README.md…
编程:IoT 固件解析
请分析每次启动时随机生成的网络摄像头固件镜像 firmware.bin(不含可执行代码)。格式依次为:开头的 `KFW2`(4 字节)、分区数量(uint16)、分区表(name:16 字节,以 NUL…
编程:覆盖率引导模糊引擎
请分析每次启动时随机生成的覆盖率引导模糊测试器运行记录 coverage-queue.jsonl(不会运行目标程序)。每行形如 `{"id": ..., "t": ..., "edges": [{"edge": ..., "hits":…