漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2013-045739
漏洞标题:djcc舞曲网任意用户密码重置漏洞(已证明)
相关厂商:www.dj.cc
漏洞作者: px1624
提交时间:2013-12-13 16:42
修复时间:2013-12-18 16:43
公开时间:2013-12-18 16:43
漏洞类型:设计缺陷/逻辑错误
危害等级:高
自评Rank:20
漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2013-12-13: 细节已通知厂商并且等待厂商处理中
2013-12-18: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
看到有人说你们网站给送了块表,羡慕嫉妒恨啊(虽然对我没一点用)!我是来求礼物的,为了证明漏洞的严重性与真实性,我已经去成功重置了两个官方的工作人员的帐号。
详细说明:
1 去dj.cc或者djcc.com随便注册个帐号,然后去找回密码。填写好登录邮箱和验证码后,点击找回密码,会显示给邮箱发个邮件。
2 执行1中的过程同时抓包,可以看到是一个post请求,3个参数,username是邮箱,rvcode是验证码,sid猜测应该是用来校验的。
3 打开邮箱,发现了那个重置密码的链接,有一个key用来校验URL。
4 观察了一下,看起来是个32位的md5加密,扔到cmd5解密不出来。然后我去试着将那个post请求中的sid进行32位md5加密,与邮箱中的key对照,发现也不对。
5 到这步可能很多人已经放弃了吧。不过我们怎么能这么轻易就放弃呢,然后我去试试(邮箱+sid)的组合进行md5加密,发现和邮箱中的key对应了。
6 总结,看来这里的重置密码验证方式就如我上面猜测的那样,sid是用来对应用户的邮箱。然后php端的加密的代码基本就下面这句了吧。
漏洞证明:
上面说的那么牛逼,但是到底是不是可以呢?剑心教导过我们,不以事实说话的漏洞都是耍流氓,所以这里我们要去找几个帐号去重置下他们的密码。重置一般用户没啥意思,这里我要去重置下他们工作人员的帐号。随便在网站里转了转,发现了两个目标。
1 这里重置密码的时候,不是有个客服的求助qq么,那么我们就去重置下他的密码。
2 填写好后,点击找回密码并抓包。
3 然后根据username和sid去生成key。
4 生成key后用那个组合好的url去重置密码就可以了。
5 重置好密码后,就可以随便登录了。可以看到的确是一个官方的人员。
6 对账户是完全控制的节奏啊。
7 djcc.com这个域名也是通杀的!用的是一个登录系统的帐号和密码。
8 嘿嘿,又看到一个官方的工作人员。
9 果断重置其帐号密码(注意,和上面那个不是一个帐号额,名字头像有点像而已)。
修复方案:
1 最好别用md5加密
2 如果用md5加密,也不要只加密一次
3 就算加密一次,也不要用这么简单的组合方式
4 重置的两个工作人员的帐号是1117113@qq.com和919543721@qq.com,密码都改为了a123456
5 安全无小事,却从小事做起,希望你们认真做好网站,为用户提供一个更加安全的网络空间,最后祝你们网站越来越好
(ps:如果可以,可以不可以给送点礼物或者啥奖励之类的....如果不可以的话那就算了....)
版权声明:转载请注明来源 px1624@乌云
漏洞回应
厂商回应:
危害等级:无影响厂商忽略
忽略时间:2013-12-18 16:43
厂商回复:
最新状态:
2013-12-19:不好意思,确认晚了。已修复。