关于MS-Word限制编辑及加密方式的研究

2020-04-25  本文已影响0人  3823丶

1. 研究环境

ms-offcie 2010 Word

2. 研究工具

ms-office 2010 Word、vs code(含XMLTools)

3. 研究过程

3.1 创建文档

创建内容完全相同的两个Word文档1.doc1.docx

3.2 限制编辑

分别对文档1.doc1.docx进行限制编辑并设置密码:123456

3.3 转换为XML文件

1.docx分别另存为1.xml文件和1-2003.xml文件,其中1.xml文件为Word XML格式1-2003.xml文件是Word 2003 XML格式

3.4研究XML文件

使用vs code分别打开1.xml文件和1-2003.xml文件,在1-2003.xml文件中搜索password字段,可以明显发现有<w:documentProtection w:edit="read-only" w:formatting="on" w:enforcement="on" w:unprotectPassword="2EF4C71F"/>字段,且可明显看出密码:123456已经被加密为:2EF4C71F,而限制方式也可一看到为只读且强制。如图3.1所示:

图3.1
同理,在1.xml文件中搜索password字段,却查无结果,由此可分析,ms-office 2007之后对内部存储机制做出了调整,但其根本原理未改变,因此,可以打单假设,改为搜索字段名w:documentProtection,为增加搜索成功率,此处仅搜索Protection,可以发现有明显字段<w:documentProtection w:edit="readOnly" w:formatting="1" w:enforcement="1" w:cryptProviderType="rsaFull" w:cryptAlgorithmClass="hash" w:cryptAlgorithmType="typeAny" w:cryptAlgorithmSid="4" w:cryptSpinCount="100000" w:hash="drnTzQx3Q5lB7S2C5wR7rZ5dIFM=" w:salt="aiNkLZAzg84e7DT4XpBqMQ=="/>,在其中任然可见其限制信息只读与强制,但标记方式均有所改变,密码也变为加密方式更强的Hash128,如图3.2所示: 图3.2

4. 猜测与验证

此时我们可以打单猜测,ms-office是以XML标签的方式存储相关信息,而删除或者修改相关XML标签即可实现相关更改。

经验证:文件1-2003.xmlw:unprotectPassword标签的值置空,则在Word-审阅中无需输入密码即可取消编辑限制,而删除或注释该标签,则编辑限制功能为未开启状态;同理,删除或注释文件1.xml,也可使编辑限制功能为未开启状态。**

5. 结论

无论是 ms-office 2003及之前,还是2007及之后,其存储方式均以标签形式存储,故可以通过修改标签值的方式实现某种正常情况下无法实现的功能,如:在无密码情况下解除编辑限制

6. 后记

Word 2003 XML格式的XML文件中提取的w:unprotectPassword的值,也可通过以二进制的方式打开原*.doc文件,并反响搜索字段后置空也可实现清楚密码的效果。例如:字段w:unprotectPassword="2EF4C71F",则可在二进制文件中搜索1FC7 F42E,并将该8位字段替换为0000 0000即可。

上一篇下一篇

猜你喜欢

热点阅读