挑战一览
01:第一步——二进制与十六进制
安全领域常使用二进制和十六进制。请把给出的十六进制序列转换成 ASCII 字符,找到旗标。 将下列十六进制转换为 ASCII: `46 4c 41 47 7b 68 65 78 5f 74 6f 5f 61 73 63 69 69 7d`
02. 隐藏的秘密:Base64 解码
Base64 是将二进制数据作为文本传输的编码方式,并不是加密。请解码给出的 Base64 字符串以找出 flag: RkxBR3tiYXNlNjRfaXNfbm90X2VuY3J5cHRpb259
09. Python 自动化:读取文件
安全工作常需用编程处理大量数据。本题的 `data.txt` 有 100 行文本,其中一行包含旗标;请补全 Python 代码并找出它。
10:安全基础——伦理与规则
成为白帽黑客不仅需要技术,也需要伦理与法律意识。阅读情境后,选择发现朋友网站漏洞时应采取的正确行动。 请思考哪一种行动才是恰当的。 这种先向所有者报告所发现漏洞的行为称为“负责任的披露(responsible disclosure)”。…
11. 解读凯撒密码
凯撒密码是最经典的古典密码之一:它将字母按固定数量平移。 密文:IODJ{fdhvdu_flskhu_edvlfv} 找出平移量并解码 flag。
12. 识别文件签名
文件开头的“魔数”可识别真实格式,即使扩展名被伪装。请使用 `file` 和 `xxd` 判断伪装文件的真实类型。
13. 图像中的隐藏元数据
照片和图像含有 EXIF 元数据,如拍摄时间、相机信息和 GPS 坐标。检查 `image_with_flag.jpg` 的 EXIF 数据以找出 flag;可使用 `exiftool image_with_flag.jpg` 或…
14. ROT13 的魔法
ROT13(Rotate 13)是一种将英文字母平移 13 位的凯撒密码。对它执行两次会还原原文,因为字母表共有 26 个字母。 密文:SYNT{ebg13_vf_flzzrgevp} 请用 ROT13 解码并找出 flag。
15. 从二进制文件提取字符串
二进制文件可能含有可读字符串,例如密码、URL 和错误消息。请从 `mystery_binary` 提取字符串并找出 flag:`strings mystery_binary | grep FLAG`。
AES-ECB 模式的弱点
ECB 会让相同明文块产生相同密文块并泄露模式。本入门题先辨别加密与编码的区别。 十六进制数据: 4b494e4f434f7b6563625f6d6f64655f69735f7765616b7d…
API 请求:识别最高利润交易
容器启动时,股票 API 会在 http://localhost:9102 上运行(无需自己启动 server.py)。请通过 GET /api/stocks 和 GET /api/stocks/<symbol> 获取 5 只股票共约…
从 Apache 日志中发现攻击
分析 Apache access.log(common 格式),找出 SQL 注入攻击的痕迹。请分辨哪些攻击成功、哪些失败,并读出攻击者植入的内容。 学习日志分析与模式匹配。 提供文件:access.log
Bash 脚本:自动化的力量
`/app/numbers.txt` 每行有一个 1 到 1000 的数字。求同时是 3 和 5 的倍数、但不能被 7 整除的数字之和;总和是旗标。
Excel 宏中的隐藏 flag
分析 Excel 工作簿中嵌入的宏代码,找出隐藏的认证码(flag)。 学习如何分析 Office 文档中的宏。本题中,宏的源代码以文本形式存放在文件内。 提供文件:spreadsheet.xlsm
Git 侦探:丢失的提交
`/app/repo` 是 Git 仓库。开发者误删了含重要信息的提交;请用 `git reflog` 找回并读取其提交消息中的旗标。
JSON 大师:数据提取
`/app/users.json` 有 100 位用户。筛选 `age` 在 25–30、`country` 为 `Japan`、`is_active` 为 `true` 的用户;按字母排序后第一个邮箱构成 `KINOCO{...}`。
OSINT 基础:元数据分析
从离职员工的共享盘中回收的文件(照片 `IMG_*.jpg` 和 Office 文档)位于 `/challenge/evidence/`。有几名员工使用了个人导出工具 `PhotoVault-ExportTool`,用它导出的照片会在…
PDF 中的隐藏流
该 PDF 文件包含压缩的对象流。 页面上不显示的内部备忘录就藏在其中。请从备忘录中找出 flag。 学习理解 PDF 的内部结构并提取隐藏数据。 提供文件:document.pdf
Python 练习:批量解码 Base64 流
data.txt(约 150 行,每次启动时生成)的每一行都是 Base64。请逐行解码,如果结果以 "b64:" 开头,就把剩余部分再做一次 Base64 解码(有些行嵌套多层)。无法解码的行(损坏的…
Python 练习:条件筛选 CSV 销售数据
每次启动时生成的 data.txt 是销售 CSV(transaction_id,date,product_id,amount,status,ref,notes)。同时满足 amount >= 10000、status 为…
Python 练习:复合查询 JSON 用户数据
请分析每次启动时生成的 JSON 文件 data.txt({"users": [...]})。每个用户包含 id、name、email、role、active、token。同时满足 role 为 "admin"(完全一致)、active…
Python 练习:追踪访问日志中的目标 IP
data.txt(约 1300 行,每次启动时生成)是 Web 服务器的访问日志。请只提取来自 192.168.1.100 的访问(混入了 192.168.1.10、192.168.1.101 等相似的诱饵 IP)。这个 IP 通过…
Python 自动化:批量 Base64 解码
data.txt(约 150 行,每次启动时生成)的每一行都是 Base64。请逐行解码,如果结果以 "b64:" 开头,就把剩余部分再做一次 Base64 解码(有些行嵌套多层)。无法解码的行(损坏的…
Python 自动化:筛选 CSV 销售数据
每次启动时生成的 data.txt 是销售 CSV(transaction_id,date,product_id,amount,status,ref,notes)。同时满足 amount >= 10000、status 为…