介绍
在CTF(Capture The Flag)竞赛中,Misc(杂项)是一个包罗万象的类别。它以“脑洞大”“技巧多”著称,要求选手具备广博的知识储备和敏锐的观察力。通常就是“啥都可能塞进来”的题:不强依赖某一种漏洞利用链,而是考 信息提取、格式识别、编码/压缩/隐写、脚本自动化、流量/日志分析、OSINT、脑洞小游戏 等综合能力。
认识Misc¶
Misc题到底在考什么?¶
其实说到底,Misc核心考点就是三件事:
- 识别:这是什么文件/协议/编码?有没有伪装?
- 被怎么处理过?(编码→压缩→加密?分段?异或?)
- 提取:flag 在哪一层?如何稳定地把它“抠”出来?
很多 Misc 题的本质是:把“现实里常见的数据处理链”搬进比赛——你只要能把链条逆向回去,就能拿到 flag。
常见的子类型与典型套路¶
1. 编码 / 加密 / 混淆(最常见)¶
特点:给你一段字符串/一堆看似乱码的文本。
常见手法:
- Base 家族:Base64/32/58/85、URL 编码、Hex、Rot13、凯撒、栅栏、维吉尼亚
- 多层套娃:
base64 -> gzip -> base64 -> xor -> ... - XOR/单字节异或/重复 key 异或
- 伪加密:看着像 AES,其实 key 就在提示里或附件里
做题顺序:
- 先“肉眼特征识别”:
=结尾、字符集像A-Za-z0-9+/→ Base64 概率高0x/仅[0-9a-f]→ hex- 大量
%xx→ URL encode - 再“统计学”:频率、可打印字符比例、是否有固定前缀
flag{/ctf{ - 套娃就写脚本循环解:
- 每解一层就检测“是否像文本/是否像压缩头/是否像图片头”
虽说加密应该放在密码学?不过我们只是在这里提到了,加密的内容还是会写到密码学中的。
2. 文件格式与“伪装文件”¶
特点:给你一个文件,说是 .jpg 但打不开,或打开不对劲。
常见点:
- 扩展名骗人,真实格式靠文件头(magic bytes)
- 文件尾追加了数据(图片后面拼接 zip / 文本)
- 多文件拼接、头部损坏、CRC/尺寸被改
- Office/PDF 里藏附件或对象流
做题顺序:
- 先判断文件真实类型(看头/结构)
- 看是否有“多段”:例如图片末尾还能当压缩包解
- 能修就修:比如 PNG 的 IHDR 尺寸异常、CRC 错误、JFIF 头错位等
3. 压缩包与“压缩套娃”¶
特点:zip/7z/rar,解出来还是压缩包,或者要密码。 常见手法:
- 多层压缩、递归解压
- 密码在注释/文件名/图片像素/流量里
- 伪加密(加密标志位搞事、明文可恢复)
- 分卷压缩/损坏压缩包修复
套路:
- 优先找“提示载体”:readme、注释、文件名规律、字典线索
- 套娃建议写脚本:自动识别类型→解→继续
4. 隐写(Steganography)¶
特点:给你图片/音频/视频,说“就一张图”。 常见手法:
- 图片:LSB(最低有效位)、RGB 通道、alpha 通道、调色板、EXIF、像素差分、二维码拼图
- 音频:频谱图、相位、LSB、倒放、变速
- 视频:抽帧、特定帧藏信息、字幕轨、音轨隐写
通用思路:
- 先做“非破坏性检查”:元数据、文件尾、附加块
- 再做“可视化”:分离通道、拉对比度、频谱/直方图
- 最后尝试“LSB/位平面”类的系统性扫描(别只盯一层)
5. 流量包 / 网络取证(PCAP)¶
特点:给你 .pcap/.pcapng,让你找 flag。
常见场景:
- HTTP 里 GET/POST 参数、cookie、下载文件
- DNS 隧道、ICMP 隧道、TCP 流里手动拼接
- TLS 前的明文(SNI/证书信息),或给了 keylog 解密
- Websocket、MQTT、FTP、SMB 等协议文件传输
套路:
- 先按协议过滤:http/dns/tcp/udp
- 追踪 TCP Stream / 导出对象(HTTP 导出文件巨常见)
- 看异常:高频 DNS 查询、可疑长子域、固定间隔心跳包
6. 日志 / 系统取证(Forensics)¶
特点:给你一堆日志、磁盘镜像、内存镜像、浏览器数据等。 常见方向:
- Web 访问日志找被访问的 flag 路径
- Bash history、计划任务、注册表、最近打开文件
- 浏览器缓存/SQLite(history、cookies、localStorage)
- 内存取证:进程、网络连接、字符串搜索
套路:
- 先找“时间线”:哪段时间发生了事?
- 再找“关键字”:flag、ctf、pass、token、key、login
- 数据库就直接 SQL 查可疑字段
7. OSINT(开源情报)¶
特点:题目让你“找一个人/地点/事件/拍摄位置”。 常见手法:
- 图片地理定位(地标、路牌、阴影)
- ID/用户名复用(GitHub、推特、论坛)
- 文档元数据泄露作者/路径
- 时间线推断(航班、比赛、发布记录)
套路:
- 先从题面明确“要的是什么格式的答案”
- 画像:地点→地貌/语言/车牌/路牌;人→用户名足迹
- 信息交叉验证:不少题会故意放“相似地点”干扰
8. 规则/小游戏/脑洞题¶
特点:给你一个程序输出、一堆坐标、迷宫、棋局、音符等。 套路:
- 把数据“转成可视化”:点阵→图;值→音;坐标→折线
- 寻找“编码到媒介”的映射:ASCII、摩斯、电报码、二维码等
- 自动化比手算稳:写脚本还原规则
常见坑点¶
不要只看扩展名:很多题就是靠这点骗你。
别过早假设加密:大量“看似加密”其实是编码+压缩+异或。
flag 可能被拆分:分散在多个文件/多段流里。
大小写/格式严格:flag{} / ctf{} / FLAG{} 常作为验题点。
题面文字也是数据:标点、行数、首字母、时间戳都可能是线索。