挑战一览

清除筛选

138 题 (第 5 / 6 页)

编程难度 3★★★☆☆

编程:SQLite 证据库

evidence.db 是每次启动时用随机数据生成的 SQLite 数据库(位于 /challenge,包含 users / sessions / access_log 三张表)。对 trust_score 不低于 80…

编程难度 3★★★☆☆

编程:Web 抓取图遍历

site.json 是每次启动时用随机数据生成的抓取结果(位于 /challenge),包含 start 与 target 的 URL,以及每个页面的 url / links / fragment(Base64 片段)。请求出从…

编程难度 3★★★☆☆

编程:ZIP 密码恢复

secret.zip 是每次启动时创建的、用 ZipCrypto(传统 PKWARE 加密)加密的 ZIP(位于 /challenge,同目录有 wordlist.txt)。密码是 wordlist.txt 中的某一个词,后面再加 2…

编程难度 3★★★☆☆

编程:PCAP 文本分析

capture.txt 是每次启动时创建的数据包日志(位于 /challenge)。每行是一个流,格式为 flow=<名称> payload_hex=<十六进制>。将 payload_hex 与 0x5A 做 XOR 解密并还原…

编程难度 3★★★☆☆

编程:多线程结果重组

请分析每次启动时随机生成的并行任务结果日志 worker-results.jsonl。每个 slot 都被尝试了很多次,日志里还保留着超时(timeout)或被后续尝试取代(superseded)的结果。每个 slot…

编程难度 3★★★☆☆

编程:内存转储分析

请分析每次启动时随机生成的合成内存镜像 memory.img。开头的堆管理表(开头 8 字节 HEAPTBL + NUL、count(uint16)、条目(addr: uint32、size: uint16、flags:…

编程难度 3★★★☆☆

编程:已知明文密码分析

请分析每次启动时随机生成的证据文件 ciphertext.b64 和 known.txt。ciphertext.b64 是用仅含小写字母的短密钥(长度未知)对观测站报告做循环 XOR 后再 Base64 编码得到的,known.txt…

编程难度 3★★★☆☆

编程:自定义协议

protocol.bin 是每次启动时创建的二进制抓包文件(位于 /challenge),其中依次排列着若干以 KINO 开头、带长度字段的帧。从头依次遍历这些帧,把 type=3 的帧的 payload 与 0x23 做 XOR…

编程难度 3★★★☆☆

编程:图像隐写

image.pgm 是每次启动时创建的文本格式(P2)PGM 图像(位于 /challenge)。从头收集每个像素值的最低有效位(LSB),每 8 位合成一个字节,读到 NUL(值为 0 的字节)之前的内容就是旗标。旗标不会以明文存放。

密码学难度 3★★★☆☆

密码分析:RSA 共模攻击

两个系统共用同一个 RSA 模数 n,只改变了公开指数。同一条消息分别用 e1 和 e2 加密得到的密文 c1、c2 已经泄露(`public_keys.txt`、`ciphertexts.txt`)。n…

密码学难度 3★★★☆☆

密码分析:小素数 Diffie-Hellman

一台旧 IoT 设备使用只有 36 位的素数 p 进行 Diffie-Hellman 密钥交换。`handshake.txt` 中有 p、g、`A = g^a mod p`、`B = g^b mod…

Linux难度 4★★★★☆

Linux-内核模块:安全分析模拟驱动

本题将一个脆弱的字符设备驱动作为安全的用户空间模拟进行分析,不加载真实内核模块。root 守护进程将该驱动暴露为 /run/vulnerable.sock,你以非特权用户 challenger(uid 1000)连接。阅读提供的驱动源码…

Linux难度 4★★★★☆

Linux-缓冲区溢出:利用 gets() 漏洞

提供了关闭保护机制的易受攻击 SUID C 二进制文件。利用缓冲区溢出将控制流转入隐藏函数。

编程难度 4★★★★☆

高级 Python:执行自定义 VM 字节码

`program.kvm` 是自定义四寄存器 VM 的字节码。根据 README 的指令规格实现 Python 解释器,并恢复 VM 输出。

Web 安全难度 4★★★★☆

Web-26. User Profile Manager 中的原型污染

在这个 Node.js/Express 应用中,已登录用户能更新自己的资料。请检查用于更新的递归合并函数是否过滤了特殊键。

Web 安全难度 4★★★★☆

Web-27. GraphQL API 的内省信息泄露

该 GraphQL API 公开 User 对象的 schema,并启用了内省。请调查默认界面之外是否存在未记录的查询或字段。

Web 安全难度 4★★★★☆

Web-28. 劫持 OAuth 授权码

该 OAuth 2.0 授权提供方提供登录流程,但对 redirect_uri 的校验可能过弱。请尝试劫持授权码并取得管理员级访问令牌。

Web 安全难度 4★★★★☆

Web-29. MongoDB 登录表单中的 NoSQL 注入

该登录门户使用 MongoDB,并把用户名和密码 JSON 直接放入查询。请尝试在不知道真实密码时以管理员身份登录。

Web 安全难度 4★★★★☆

Web-30. KinoVault 中的不安全反序列化

旧式备份系统 KinoVault 据称用 Python `pickle` 序列化用户会话并存进 Cookie。请分析 Cookie 格式,并检查构造的 pickle 是否能提升权限。

编程难度 4★★★★☆

二进制修复:固件头与 CRC32

修复 `firmware.bin`:将 byte 0-3 写为 `KINO`,并把 byte 12 之后数据的 little-endian CRC32 写回 byte 8-11。将修复文件交给 `challenge.py`…

编程难度 4★★★★☆

编程:C2 通信分析

请分析每次启动时随机生成的合成日志 beacon.log(不需要网络连接)。多台主机(会话)的通信按时间顺序混在一起。每个会话在第一条 hello 中发送 nonce,该会话的密钥是 SHA-256(b"beacon-v1" +…

编程难度 4★★★★☆

编程:缓冲区溢出崩溃报告分析

请分析每次启动时随机生成的崩溃报告 crash_01.txt 到 crash_06.txt(不含可执行代码)。每份报告都写有发送的输入本身(input:)和崩溃时的指令指针(32 位为 eip,64 位为 rip)。…

编程难度 4★★★★☆

编程:模糊测试结果分析

请分析每次启动时随机生成的模糊测试结果日志 fuzz-results.log(输入只是被保存下来,不会被执行)。每行是一个用例,格式为 `case=<6 位十六进制> result=<OK|TIMEOUT|CRASH>…

编程难度 4★★★★☆

编程:区块链事件重组

/challenge/blocks.json 是每次容器启动都会用随机数据重新生成的离线开发链区块列表(顺序是乱的,并包含因分叉产生、不在规范链上的孤立区块)。请从 height 最大的区块沿 parent_hash…