ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: kgd0206

[讨论] EXCEL惊现重大漏洞

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2009-4-14 12:37 | 显示全部楼层
excel 原理相同,
都是复合文档。

2003为127位RC4
2007可为256位。

BTW:
散列表是可以重复的,
所以口令也是可以重复的,
为什么03和07下都是963/123还没有想明白。
难道128位与256位强度得到的结果是一样的。

原理如下:(下载文档中讲的很清楚了)
---------
口令字的有关问题:
---------
对于给定的一个 文档可以有多个口令字(其中有一个是用户的原始口令)可以正确的解密整个 文档!
听上去有点不可思议对吗?但事实确实如此!
证明如下:
对于给定的文档,
对于每个口令会有一个且仅有一个决定RC4 初始化向量的40 位的数与之对应,
这个 40 位数正确与否先不去管他,
但是反过来,每个决定RC4 初始化向量的 40 位的数只对应一个口令吗?显然不是。
因为口令的空间是无限大的(设口令长度不限),但是 40 位数的空间却只有 2^40个,
根据鸽笼原理,每个决定RC4 初始化向量的 40 位的数就会对应多个口令。
而由于MD5 hash将每个口令字都均匀的映射到 40 位数的空间上,
所以我们平均在任意的 240个口令字中(原始口令是否在其中无关),
就可以找到一个口令对应于正确的那个 40位数!
即,这个口令字可以正确的解密整个文档。
也就是说:
对于一个以强口令保护的文档是不能保证恢复原始口令的!
你最多只能得到一个可能是部分 Hash 冲突的解!
之所以称之为部分 hash 冲突的解是因为它只需要在 128 位的 MD5 hash 结果中前 40 位冲突就可以了

---------------------------------
Office加密方式及算法原理
---------------------------------
Word、Excel 和 PowerPo 为文档提供了 3种级别密码保护方式

第1级是可以设置密码来决定用户是否有打开文档权限;
第2级是可以设置密码来决定用户是否有编辑文档权限;
第3级是可以对打开Word文档启动强制保护这样将以只读方式打开。

Word、Excel 和 PowerPo 都使用 RC4 对称加密法对受密码保护文档进行加密
RC4是种流密码算法它对数据每个字节进行操作
和RC2算法样它支持长度为40位、64位以及128位密钥
它都是由RSA Data Security Inc制定在给文档加密时我们可以选择指定密钥位

-----------
加密过程
-----------
(1)将最多15字节的口令->Unicode->md5
(2)取前5字节+16字节随机数a1=21字节,反复16次得336字节->md5
(3)取前5字节(s[5])+4字节计数器(初始0)共9字节->md5后作为RC4的密钥对文档进行加密.每加密512字节计数器+1后重复(3),即第6字节顺序变化
(4)另取随机数a2->md5得b,a2和b用RC4的第一次密钥加密后的32字节AB存放文档特定位置:i=(*((int *)(data+0x240))+0x200);i-=i%512
从i处开始每512字节找01 00 01 00,其后的48字节就是a1和AB

--------------
破解方法1:
--------------
穷尽5字节s,
(4)中的AB可用于验证,
只要知道这5字节即可解密文档。
关键点:
找到一段固定的5字节或全0处,
由5字节得到RC4的乱数后查表。


最后:
有关Excel和PowerPo加密过程和Word相似
Office其它版本操作和Office 2003操作也极为相似

这里有源代码,但是下载后打开是错误的。
http://empa7hy.wordpress.com/2008/08/31/1000-hacking-ebooks/

相关贴子:
http://bbs.pediy.com/showthread. ... ght=word#post369640

多谢,将附件合并上传   lfspecter

[ 本帖最后由 儒道佛 于 2009-4-20 12:22 编辑 ]

ms_encrypt.rar

358.26 KB, 下载次数: 261

TA的精华主题

TA的得分主题

发表于 2009-4-18 11:53 | 显示全部楼层
太牛逼了,人类的智慧太强大了

TA的精华主题

TA的得分主题

发表于 2009-4-19 14:34 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-4-20 10:46 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-4-23 14:14 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
大发现!

TA的精华主题

TA的得分主题

发表于 2009-4-23 17:37 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
这也发现了,牛呢

TA的精华主题

TA的得分主题

发表于 2009-4-24 00:07 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
,真的哦

TA的精华主题

TA的得分主题

发表于 2009-4-24 09:12 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
都是强人.高手.

TA的精华主题

TA的得分主题

发表于 2009-5-1 18:23 | 显示全部楼层
刚才试验了下Office2007 果然很快就破了

TA的精华主题

TA的得分主题

发表于 2009-5-1 23:17 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
这个帖子要好好收藏。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-24 14:49 , Processed in 0.040598 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表