美文网首页
关于MS-Word限制编辑及加密方式的研究

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

作者: 3823丶 | 来源:发表于2020-04-25 18:09 被阅读0次

    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即可。

    相关文章

      网友评论

          本文标题:关于MS-Word限制编辑及加密方式的研究

          本文链接:https://www.haomeiwen.com/subject/atvkwhtx.html