当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-0101000

漏洞标题:大汉网络后台用户密码存储不安全

相关厂商:南京大汉网络有限公司

漏洞作者: 路人甲

提交时间:2015-04-02 17:00

修复时间:2015-07-12 22:54

公开时间:2015-07-12 22:54

漏洞类型:设计缺陷/逻辑错误

危害等级:高

自评Rank:15

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-04-02: 细节已通知厂商并且等待厂商处理中
2015-04-13: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2015-06-07: 细节向核心白帽子及相关领域专家公开
2015-06-17: 细节向普通白帽子公开
2015-06-27: 细节向实习白帽子公开
2015-07-12: 细节向公众公开

简要描述:

大汉网络后台用户密码存储不安全,影响信息公开内容系统和网站群系统

详细说明:

大汉爆出很多的漏洞,包括sql、任意文件下载、上传文件漏洞。
对于上传、下载这些越权的漏洞,大汉已经进行了修补,不过只是增加了对权限的判断,必须是登录成功的用户才能给进行上传下载操作,看似修补成功了。
不过现在大汉网站群在很多政府部门大量使用,即使存在sql注入。可能也还是一部分信息泄露,毕竟没有涉及到账号密码。
今天我曝的这个洞,乌云上还没有人提交过。

1.png


这是信息公开内容管理系统

jcms.png


这是jcms网站群,用户名和密码都是存储在同一张表中MERP_PUB_USER
每个政府单位都可以通过自己的账号来登录网站群,来发布政府信息。一旦被恶意利用,后果可以参考 14年宁波某政府单位网站被黑事件。

if ((("0".equals(pwd_encrypt)) && (!password.equals(entity
.getVc_password()))) || (
("1".equals(pwd_encrypt)) && (!password.equals(entity
.getVc_password_md5()))))


password为用户输入的口令;
entity.getVc_password()) 会从数据库中获取口令解密后,和password进行对比;
entity1.setVc_password(md5decode(entity1.getVc_password()));
这里先将数据库中的口令密文,存储到entity1结构中,使用md5decode解密,解密后再次存储到entity1结构中,这时的password字段已经是解密后的密码明文了。
到这里可以断定 md5decode 就是解密方式了,进行跟踪,存在自定义MD5类,实现md5encrypt和md5decode函数,使用了salt_key,实现口令加密和解密。这里使用了可逆的算法进行加解密,只要黑客将md5decode函数构造出来就可以批量进行密码解密了。都知道md5不安全,这种加密算法还不如md5...
编程实现批量解密。

2.png


返回结果

3.png


试了试其中某个用户的口令,找到他注册时使用的邮箱地址,竟然成功登录其126邮箱了。囧

漏洞证明:

编程实现批量解密。

2.png


返回结果

3.png

修复方案:

替换安全的口令加密存储方式,使用不可逆的加密算法存储口令,否则黑客掌握解密方法,口令相当于明文裸奔

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2015-07-12 22:54

厂商回复:

漏洞Rank:4 (WooYun评价)

最新状态:

暂无


漏洞评价:

评论