MISC入门---电子文档隐写
前言
图片不是 MISC 隐写题唯一的载体。题目也可能把线索放进 Word、PDF、PowerPoint 等电子文档里:信息可能藏在正文格式、批注、修订记录、文档属性、附件对象或文件结构中。有时文件只是改了扩展名,真正内容还在文档包里。
这里的“电子文档隐写”是解题中的宽泛说法,包含文档中不容易直接看到的内容和异常结构。它和“文件加密”不是一回事:加密通常需要密钥才能读内容;隐写或隐藏数据则要先发现信息藏在哪里。做题时先判断文件类型,再选合适的查看方式,不要一上来就尝试破解密码。
一、先认清手里的文件
文件名后缀只是给操作系统看的标签,不一定准确。例如把 PDF 改名为 DOCX,并不会让它变成 Word 文件。先查看文件头、文件类型和大小,再决定下一步。
常见文件标识:
- PDF 文件开头通常能看到 %PDF;文件尾常见 %%EOF。
- DOCX、PPTX、XLSX 属于 Office Open XML 格式,内部通常是 ZIP 容器,因此文件头常见 PK。
- 旧版 DOC、XLS、PPT 常使用 OLE 复合文档结构,文件头通常是 D0 CF 11 E0 A1 B1 1A E1。
Linux/macOS 可用 file challenge;Windows 可以先用文件属性、十六进制编辑器或 7-Zip 查看。遇到后缀与文件头不一致时,先复制一份再尝试改后缀,不要覆盖原文件。
二、DOCX 为什么能像压缩包一样检查
DOCX 看起来是一个 Word 文档,实际上常常是由多个 XML 文件和图片组成的 ZIP 包。可以先用 7-Zip 查看目录:
7z l report.docx
也可以在副本上解压后检查:
unzip -q report.docx -d report_unpacked
常见文件和目录的作用:
- word/document.xml:正文段落和文字。
- word/header.xml、word/footer.xml:页眉和页脚。
- word/comments.xml:批注内容。
- word/footnotes.xml、word/endnotes.xml:脚注和尾注。
- word/media/:文档里的图片等媒体文件。
- docProps/core.xml:标题、作者、创建时间等核心属性。
- [Content_Types].xml、_rels/:说明包内各文件的类型和关联关系。
如果正文里看不到提示,可以搜索解压目录中的 XML、批注、页眉页脚和媒体文件名。XML 标签很多,先用 Word 打开、搜索关键词,再用文本编辑器检查源文件,通常比直接阅读整份 XML 容易。若用 strings 搜不到内容,也不代表没有线索:文本可能被压缩、编码或拆分在多个 XML 节点中。
三、Word 里容易漏看的内容
打开文档后,除了正常正文,还可以检查这些位置:
- 批注与修订:打开“审阅”选项卡,显示所有批注和修订。删除线、插入文字、旧版本内容有时会留下线索。
- 隐藏文字和格式:全选正文检查字体颜色、字号、隐藏文字设置和段落间距。白色字体、极小字号或放在页面外的文字,肉眼不一定容易发现。
- 页眉、页脚、脚注和文本框:这些区域可能不在主正文的阅读顺序里,逐页检查,也可查看导航窗格。
- 文档属性:作者、标题、主题、公司名和自定义属性有时会包含提示。可用 Word 的“文件→信息”,或 ExifTool 检查。
- 嵌入对象与图片:文档可能包含嵌入的 Excel、图片或附件。查看“对象”图标、文档包中的 media 目录,并对导出的对象继续做文件识别。
这些是检查方向,不代表每道题都会用到。遇到可疑内容时,记录它所在的页码、字段或内部路径,方便回到原处复核。
四、PDF 的检查思路
PDF 不像 DOCX 那样通常可以直接解压浏览。它由页面、字体、图片、对象和可能经过压缩的内容流组成,所以用普通文本编辑器看到乱码很正常。
可以按这个顺序检查:
pdfinfo challenge.pdf
exiftool challenge.pdf
pdftotext -layout challenge.pdf output.txt
pdfdetach -list challenge.pdf
- pdfinfo 查看页数、页面尺寸、加密状态等基本信息。
- exiftool 查看文档元数据。
- pdftotext -layout 尝试提取文字并保留大致版面。
- pdfdetach -list 列出 PDF 中的附件;若有附件,再单独提取并识别格式。
还要逐页查看渲染效果:文字可能被放在页面边缘、用白色覆盖,或以图像而非文本形式存在。若提取的文本与页面上看到的内容不一致,可以考虑 OCR、检查页面对象或查看 PDF 的元数据和附件。PDF 中的 JavaScript、表单和附件属于不同类型的内容,遇到陌生文件不要随意启用或执行。
五、快速扫描和进一步分析
对不确定的附件,可以按顺序做轻量检查:
file challenge
strings -n 6 challenge | head
binwalk challenge
工具各有侧重:
- file 根据文件特征猜测类型,不保证每次都正确。
- strings 提取可打印字符串,适合找显眼提示,但看不到压缩或加密后的内容。
- binwalk 扫描文件内部可能存在的嵌入格式。扫描结果是线索,不一定代表每个命中都是真正附件。
- 010 Editor、WinHex 适合查看文件头尾和偏移位置。
当工具报告嵌入对象时,先记录偏移量和命中类型,再用副本尝试提取。提取出的文件要重新运行 file、查看文件头并重复检查;不要因为后缀叫 PDF 或 DOCX 就假设它一定是该类型。
六、推荐的入门流程
- 保存原件并复制一份工作副本;必要时记录 SHA-256。
- 查看文件大小、扩展名、文件头和真实类型。
- 用对应软件正常打开,检查正文、页眉页脚、批注、修订和属性。
- DOCX 等 ZIP 文档可查看内部 XML、媒体和附件;PDF 可提取文本、属性和附件。
- 再用 strings、binwalk、十六进制工具检查异常结构和隐藏对象。
- 对每个提取物继续识别和检查,记录使用的工具、路径和偏移量。
常见误区
- 只相信扩展名:文件类型由内容结构决定,扩展名可以被随意改写。
- 把乱码当成损坏:DOCX 的 XML、PDF 的压缩流或二进制对象本来就可能不可读。
- 只检查第一页或正文:批注、页眉、脚注、属性、附件和媒体目录都可能被忽略。
- 把扫描命中当结论:需要结合上下文确认工具识别出的对象是否有效。
- 直接改原文件:解压、修复或提取都应在副本上进行,保留可回退的原件。
总结
电子文档题先问三个问题:这是什么格式?内容由哪些部分组成?题目线索最可能藏在哪一部分?DOCX 可以从 ZIP 包和 XML 入手,PDF 可以从文本、对象、属性和附件入手;随后再用文件头、字符串和结构扫描补充检查。把文档当作一组可检查的组成部分,而不是只看屏幕上的一页文字,很多隐藏线索就更容易找到。

浙公网安备 33010602011771号