Misc 新手上手操作指南¶
Misc 的范围很宽:图片、音频、PDF、压缩包、日志、shell 环境题、编码谜题都可能出现。新手不要先猜工具,而要先判断“这到底是什么容器,隐藏信息可能在哪一层”。
这类题先看什么¶
先确认:
- 文件真实类型是什么?扩展名是否可信?
- 是否有压缩层、拼接文件、元数据、隐藏 chunk、可打印字符串?
- 题目是让你恢复文件、提取隐藏数据,还是操作一个远程 shell?
- 有没有明显提示:颜色、音频波形、PDF 对象、二维码、LaTeX、SSH、jail?
最小工具集¶
| 工具 | 用途 |
|---|---|
file |
判断真实文件类型 |
strings |
提取可打印字符串和路径线索 |
exiftool |
查看图片/PDF/媒体元数据 |
binwalk |
检查嵌入文件或拼接结构 |
xxd / hex editor |
看 magic bytes 和异常尾部数据 |
| Python | 自定义解析、批量转换、还原数据 |
首轮 10 分钟操作流程¶
Step 1:确认真实类型¶
file attachment
strings attachment | less
不要完全相信扩展名。图片可能藏压缩包,PDF 可能藏对象流,文本可能是编码或程序源码。
Step 2:看元数据和结构¶
- 图片:EXIF、PNG chunk、尾部附加数据、LSB。
- PDF:对象、附件、隐藏文本、脚本、字体或压缩流。
- 音频:频谱图、波形、LSB、声道差异。
- 压缩包:多层压缩、伪加密、损坏头、密码提示。
- shell/jail:先观察可用命令、限制字符、环境变量和当前目录。
Step 3:按容器分流¶
| 类型 | 优先检查 |
|---|---|
| 图片 | EXIF、chunk、尾部数据、二维码、LSB |
| 文本层、附件、对象流、隐藏内容 | |
| 音频 | 频谱、声道、采样数据 |
| 压缩包 | 文件列表、注释、伪加密、binwalk |
| 文本/源码 | 编码、注释、字符串、执行逻辑 |
| 远程 shell | 权限、可用命令、过滤规则、环境变量 |
典型突破口¶
- 文件尾部出现第二个 magic bytes。
strings中出现路径、密码、flag 片段或 base64。- PNG 有异常 ancillary chunk 或 IEND 后数据。
- PDF 有隐藏附件、对象流或不可见文字。
- 音频频谱中直接出现图案或文字。
- jail 题过滤的是字符而不是语义,可以用替代表达式绕过。
新手常见误区¶
- 看到图片就直接跑 LSB,没先看 EXIF 和 chunk。
- 看到压缩包要密码就硬爆破,没看注释、文件名和题目提示。
- 只看扩展名,不看 magic bytes。
- 对 shell 环境题只试命令,不记录哪些字符或命令被过滤。
- 用很多工具但不保存中间输出,后面无法复现。
仓库内参考阅读¶
- CPCTF L0v3 PDF — PDF 隐藏数据分析。
- CPCTF jail — 受限 shell / jail 思路。
- CPCTF Hello LaTeX3!!! — 源码阅读与特殊语言环境。
- NovruzCTF WYCGPRB — 杂项题中编码/文本线索的处理。
一页式检查清单¶
- 用
file验证真实类型 - 用
strings看过可打印内容 - 检查过元数据、文件头尾和异常附加数据
- 根据容器类型选择了对应工具,而不是盲跑所有工具
- 如果是远程 shell,记录了可用命令、过滤字符和当前环境
- 保存了每一层提取出的中间文件
- 最终 flag 不是中间提示串,而是确认可提交的结果