美丽的不是这个世界,而是看世界的你的眼神。 收藏本站
登陆 / 注册 搜索

阅读: 5.6K   回复: 4

[# 加密解密] office2003前版本的口令破译

soarcloud 「龙战于野」 2016-3-30 20:42 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

还是一样,算是个备忘。
不过真心觉得微软最初还是很有想法的,故意留那么个漏洞,保证加密文档对他们来说是可以不需要口令破译的。当然也有可能他们只是想提供用户忘记口令时,能够恢复重要文件的服务,但是不管怎么说,漏洞留下了。
口令破译具体算法我就不写代码了,就描述下office是如何使用口令解密的步骤:
01、将用户口令进行Unicode编码
02、将编码结果进行一次MD5计算
03、获取MD5结果的前5个字节
04、获取文件中的16个字节的随机数
05、将5个字节的哈希值和16个字节的随机数组成21个字节的数据,并将这21个字节数据通过重复扩展到336字节(即有16个21字节)
06、将336个字节数据进行一次MD5运算
07、再次只取出第06步得到哈希值的前5个字节
08、将5个字节填充0补充长度到9个字节
09、将9个字节的数据进行一次MD5计算
10、将09步得到的16个字节作为rc4算法密钥
11、使用rc4算法将16个字节随机数后的32个字节数据进行解密
12、将解密后的32个字节数据中的前16个字节数据进行一次md5运算
13、比较第12步中得到的16个字节哈希值与解密后的32个字节数据中的后16个字节数据是否相同,相同则口令正确,不同,则口令错误。
漏洞:rc4的密钥本来为16个字节数据,即128bit,密钥空间应有2的128次方,但由于其是由5个字节数据进行哈希而产生,因此,实际rc4密钥空间就只有2的40次方种了。
通过穷尽5个字节的哈希值就可以顺利找到rc4的正确密钥,从而对加密文档进行解密,当然口令实际上是没有求出来的。


海洋的春天 「龙战于野」 2016-3-30 22:20 来自手机 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

不懂帮顶٩۹(๑•̀ω•́ ๑)۶

评分

参与人数 1成长值 +1 金币 +1 展开 理由
深蓝 + 1 + 1 简单来说,这件事一点不简单。.

查看全部评分

巴黎环抱的花海 「龙战于野」 2017-8-21 17:16 来自手机 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

回个帖子,下班咯~
一起一伏 「龙战于野」 2018-5-3 15:43 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

新手飘过,留个言给楼主动力
站在记忆的边缘 「出类拔萃」 2018-5-13 19:30 来自手机 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

楼下的接上#j320:
您需要登录后才可以回帖 登录 | 免费注册  

本版积分规则

关于本站|大事记|小黑屋|古黑论 网站统计

GMT+8, 2020-10-31 17:35 , Processed in 0.028940 second(s), 24 queries , Redis On.

© 2015-2020 GuHei.Net

Powered by Discuz! X3.4

快速回复 返回列表