3 小时生成 60 份 MD5 完全一致的 PDF 文件 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lry
V2EX    信息安全

3 小时生成 60 份 MD5 完全一致的 PDF 文件

  •  1
     
  •   lry 2020-12-31 17:09:49 +08:00 7129 次点击
    这是一个创建于 1818 天前的主题,其中的信息可能已经有所发展或是发生改变。

    刚看到鹅厂安全的一篇文章 https://mp.weixin.qq.com/s/67ucLHMLJJj69h8A66npbA

    这些碰撞出来的文件,字节数相同,可以正常打开预览,MD5 完全一致

    现在的 MD5 碰撞这么容易了吗?

    另外拿这些文件测试了一下天翼云网盘,MD5 一致直接就妙传成功,完全翻车

    2020-12-31 165942.png

    34 条回复    2021-01-01 17:32:53 +08:00
    huluhulu
        1
    huluhulu  
       2020-12-31 17:18:04 +08:00   1
    md5 还是弱了一些.
    一般用双验证吧. 一种码现在完全不够.
    keepeye
        2
    keepeye  
       2020-12-31 17:26:36 +08:00
    这是根据特定 MD5 反向生成文件吧
    BadAngel
        3
    BadAngel  
       2020-12-31 17:26:50 +08:00
    你看这些文件的二进制都是一样的,能解出一样的 MD5,没什么毛病。

    相同二进制,但是展现内容不一致是怎么玩的。
    keepeye
        4
    keepeye  
       2020-12-31 17:27:07 +08:00
    fastcoll
    Tianao
        5
    Tianao  
       2020-12-31 17:29:26 +08:00 via iPhone   2
    @BadAngel #3 何以见得二进制一样啊?
    bubuyu
        6
    bubuyu  
       2020-12-31 17:32:36 +08:00 via iPhone
    现在校验文件不一般都用 SHA1 了吗
    geelaw
        7
    geelaw  
       2020-12-31 17:34:10 +08:00 via iPhone
    @BadAngel #3 这些文件是不同的,只是它们的 MD5 相同。

    回到本来的问题,关于 MD5 最著名的莫过于王晓云、于洪波著《如何破解 MD5 和其他 hash 函数》 https://link.springer.com/chapter/10.1007%2F11426639_2
    geelaw
        8
    geelaw  
       2020-12-31 17:37:59 +08:00 via iPhone
    #7 罪过罪过…正确的名字是 王小云、于红波。
    imgbed
        9
    imgbed  
       2020-12-31 17:40:12 +08:00 via Android
    str = md5(str)
    能把这个 str 字符串碰撞出来吗?
    mxT52CRuqR6o5
        10
    mxT52CRuqR6o5  
       2020-12-31 18:03:22 +08:00   2
    md5 前缀碰撞很快的,假设 PDF 文件可以在末尾随便加数据不影响内容,可以按照下面文章中的方法生成任意个内容不同 md5 相同的 PDF
    https://zhuanlan.zhihu.com/p/320207905
    gam2046
        11
    gam2046  
       2020-12-31 18:03:33 +08:00
    已知待进行信息摘要的内容 a,已知算法 MD5,可得
    Sa = MD5(a )

    在这种情况下,是可以碰撞出无穷多的 a1,a2,a3...an ,满足
    Sa = Sn = MD5(an)

    上面有提到的王小云著有相关论文。
    libook
        12
    libook  
       2020-12-31 18:23:41 +08:00
    王小云教授搞出来 MD5 的碰撞算法已经是 2004 年的事情了,后续一堆 Geek 改进算法,加上十几年算力翻了好多倍,现在能达到这种程度也不意外。

    MD5 的碰撞特性基本没有任何利用价值了,但是如果不用于碰撞而是单纯用于摘要(保密原文)的话也还是可以用的,因为碰撞算法只能碰撞,但是无法知道原文是啥。
    Tink
        13
    Tink  
    PRO
       2020-12-31 18:35:43 +08:00 via Android
    厉害
    nilbot
        14
    nilbot  
       2020-12-31 18:40:30 +08:00 via Android
    最后一句话亮了,完全翻车:)
    Jooooooooo
        15
    Jooooooooo  
       2020-12-31 18:55:38 +08:00
    已经有太多示例证明, 如果存在被攻击的入口, 那不要用 md5, 因为已经被破解
    explore365
        16
    explore365  
       2020-12-31 19:00:31 +08:00
    MaiKuraki
        17
    MaiKuraki  
       2020-12-31 20:20:13 +08:00
    如果你已经拥有源文件了,文件伪造又有何意义
    dzdh
        18
    dzdh  
       2020-12-31 20:30:33 +08:00
    @Jooooooooo 碰撞和破解可是俩概念
    microka
        19
    microka  
       2020-12-31 20:37:15 +08:00
    我试了用天翼云盘传下载回来的 Certificate.7z 里面的 PDF,每个 PDF 都是实打实的上传,没有秒传。
    ytmsdy
        20
    ytmsdy  
       2020-12-31 20:44:35 +08:00
    MD5 好几年前就已经被突破了啊!
    lry
        21
    lry  
    OP
       2020-12-31 20:58:38 +08:00
    @microka 我这边是 win10 V6.3.3 客户端上传的,第一次上传 arm_rank01.pdf 是正常上传,接着上传 arm_rank02.pdf 和 arm_rank03.pdf 都是秒传,抓包发现只有第一次上传的时候接口返回 fileDataExists = 0,另外两次都是 fileDataExists = 1 。下载上传好的 arm_rank03.pdf 和 arm_rank02.pdf 显示的都是 arm_rank01.pdf 的内容,不知道你那边是什么方式上传的、。、

    如图
    AndyAO
        22
    AndyAO  
       2020-12-31 21:04:40 +08:00
    说明用这种方式,来校验文件相同已经不可靠了.
    或者说是防小人不防君子.
    AndyAO
        23
    AndyAO  
       2020-12-31 21:04:55 +08:00
    @AndyAO #22 刚好说反了,防君子不防小人
    ym1ng
        24
    ym1ng  
       2020-12-31 21:13:42 +08:00
    第二型生日攻击
    favourstreet
        25
    favourstreet  
       2020-12-31 21:15:43 +08:00 via Android
    @AndyAO 君子也不一定能防,md5 是 128 位,ipv6 也是 128 位,等长,考虑到生日攻击,ipv6 地址没碰撞就已经是奇迹了;源地址加目的地址共 256 位,铁定碰撞了……
    zhanglintc
        26
    zhanglintc  
       2020-12-31 21:20:19 +08:00
    @BadAngel #3 二进制不一样,你仔细比较一下
    tuxz
        27
    tuxz  
       2020-12-31 21:26:39 +08:00 via Android   2
    莫非这就是网易云盘的音乐被改的原因吗
    microka
        28
    microka  
       2020-12-31 21:45:53 +08:00 via iPhone
    @lry 噢,我是网页端直接上传。
    xupefei
        29
    xupefei  
       2020-12-31 21:52:54 +08:00
    @imgbed 数学证明这个 str 存在的可能性是 60%,但好像目前还没人试出来?
    opengps
        30
    opengps  
       2020-12-31 21:53:42 +08:00
    现在文件的数量突增,定长的 md5 字符显然已经有些容不下了。硬盘看下开发目录之类的文件夹属性,动不动就几千个文件
    gyf304
        31
    gyf304  
       2021-01-01 06:50:30 +08:00
    @bubuyu SHA1 也不行了 要用 SHA256 了
    Overfill3641
        32
    Overfill3641  
       2021-01-01 12:14:43 +08:00
    @favourstreet v6 各地区的前缀就不一样,怎么会碰撞? MAC 碰撞倒是有可能
    uxff
        33
    uxff  
       2021-01-01 16:31:04 +08:00
    秒传功能看来靠不住了
    laminux29
        34
    laminux29  
       2021-01-01 17:32:53 +08:00
    王小云单 PC P4 1.6Ghz 45 分钟,方法还是公开的。鹅厂安全部门整个算力集群,3 小时.....我要是鹅厂搞安全的,我选择自尽 。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5063 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 37ms UTC 09:09 PVG 17:09 LAX 01:09 JFK 04:09
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86