首页
社区
课程
招聘
[原创]关于MD5碰撞
发表于: 2013-5-6 10:40 20243

[原创]关于MD5碰撞

2013-5-6 10:40
20243

很早之前王小云教授提出了一种方法,可以在已知原文的情况下构造出另一个跟原文MD5值相同的串。并且该计算过程所消耗的时间是有限的、可计算的。
     但是,要利用此方法达成某种啥啥的目的是困难无比的。原因就是你无法确定新构造出来的串符合你的预期。这么说比较绕口,说得俗一点:你可以将某个文件的MD5值弄的跟kernel32.dll的完全一样。但是你却无法让这个文件包含你所希望的某种功能。这个文件刚好是完整可运行的PE文件的概率都非常低,不过我也见过这种样本。。。
     但是要通过碰撞实现程序A跟程序B的MD5值完全相同,但运行结果是完全不同,却是非常容易的,这个我也在网上看到过例子,但不知道有没有人公布这个方法,今天就在这里说一种简单的方法。。。关于这玩意到底有没有实际意义,就看各位的思路淫不**了。
     国外公布过一个碰撞程序fastcoll_v1.0.0.5,可以在一个文件的基础上生成两个MD5相同的文件,查看下这个两个MD5相同的文件,会发现只是在文件末尾添加了一些不同二进制数据,那么。。。根据其中某个不同的字节,来使我们的程序跳转的不同的流程执行,就可以实现程序A跟程序B的MD5值完全相同,但运行结果却是完全不同,估计各位看到这里都笑了,代码其实还是写死的。
    给一段代码:


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 6
支持
分享
最新回复 (13)
雪    币: 183
活跃值: (1178)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
又会被恶意利用了。
2013-5-6 11:13
0
雪    币: 43
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
现在md5用的还很多么
2013-5-6 11:48
0
雪    币: 11
活跃值: (52)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
除非原作者预留出这样写的结构
2013-5-6 11:52
0
雪    币: 85
活跃值: (87)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
这个其实意义不大, 在文件末尾附加了几个特殊构造的数据, BC按Hex比较就能发现;
P.S. QQ离线传文件的话, 把两个文件传过去, 对方接收的话会发现两个文件是一样的 -> QQ传文件只按文件MD5判断了...
2013-5-6 11:56
0
雪    币: 54
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
个人认为还是有意义的,很多下载的软件,有md5校验可以避免隐藏木马。

举个例子,如果是针对移动应用,市场就很难区分了
2013-5-6 12:01
0
雪    币: 275
活跃值: (51)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
这个东西貌似很早的,感觉这样用处不大,不过利用md5的漏洞原理,既然可以构造两个具有相同md5值的串,而md5是很多轮的,每轮实际上都是一组md5值,我们可以改变md5的某个中间值为md5算法的原始向量(不知道这样改对md5算法的漏洞还是否一样),这样我们就可以构造出来某个文件相同的另一个文件了
2013-5-6 16:42
0
雪    币: 1534
活跃值: (312)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
有意思,学习了
2013-5-6 18:38
0
雪    币: 357
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
几年前就见过,估计早就有利用此技术的成品了吧
2013-5-7 12:42
0
雪    币: 62
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
10
学习了 值得深入研究
2013-5-9 12:04
0
雪    币: 83
活跃值: (41)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
http://lcx.cc/?i=1822

怎么就叫原创了?

这也能优秀?
2013-5-18 23:35
0
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
感觉好厉害的样子
2013-6-4 16:44
0
雪    币: 4
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
为什么程序运行时闪退,编译没编好?
2013-8-15 02:27
0
雪    币: 478
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
马克?????
2013-8-15 06:49
0
游客
登录 | 注册 方可回帖
返回
//