DZ升级/DX转换程序考虑不当导致用户遗留信息被黑客利用

- AV AC AU C I A
发布: 2025-04-13
修订: 2025-04-13

### 简要描述: (名词解析:DZ=Discuz!;DX=Discuz! X;UC=UCenter;PW=phpwind) 众所周知的是,DZ <= 6.0,PW <= 8.7的用户密码都是简单的md5,存在被拖库后被轻易暴力破解的问题。于是乎康盛在开发UC的时候,就加了salt以防止这个问题。 但是在针对DZ升级和DX转换程序中,对原有信息处理不当,会导致仍然在某些表内遗留简单md5信息。其结果就是一旦网站被攻破拖库,这些历史信息就会被黑客利用。 个人原本都不认为是什么问题的,但是以下这个链接表明,很可能已在黑产界流传: http://weibo.com/1933769763/eDKax2duHJa (请看转发和评论) @Hxai11 所提交的一个漏洞(http://www.wooyun.org/bugs/wooyun-2010-04146 )在这部分的细节上说明有误,商量了一下,还是独立提交一次好了。 希望DX 2.5和PW 9这两个重写代码的程序发布之前,能够妥善处理好升级脚本的问题。 ### 详细说明: (1)DZ <= 6.0的用户信息是存储在cdb_members表中,其password字段是简单的md5; DZ >= 6.1后,password字段仅作为cookie的登录凭据校验,用户在每次密码修改时,均会重新生成一个无关密码的登录凭据校验; 真实的password相关信息存在UCenter cdb_uc_members表中,并且salt过; (2)然而在升级到需要UC的DZ(比如DZ 7.0)时候,针对将cdb_members导入到UCenter cdb_uc_members的升级脚本只是顾着往cdb_uc_members的password加salt,并没有对cdb_members的password进行无害化处理; 这样的结果是,升级过后,如果老用户没有修改密码,这个遗留的md5会一直存在cdb_members中。 (3)更严重的是,DX的转换脚本会原封不动地将DZ的cdb_members password搬动过来,同样没有进行无害化处理,结果导致DZ的问题延伸到DX。 (4)此问题主要影响的是升级到UC后一直没有修改过密码的老用户。这批用户一般对论坛早期的贡献不小,所以出现问题的话,他们也会感到很不解的...... ### 漏洞证明:...

0%
暂无可用Exp或PoC
当前有0条受影响产品信息