漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2016-0187568
漏洞标题:51CTO之任意密码重置风险(各种组合综合利用)
相关厂商:51CTO技术网站
漏洞作者: js2012
提交时间:2016-03-22 09:31
修复时间:2016-03-27 09:40
公开时间:2016-03-27 09:40
漏洞类型:设计缺陷/逻辑错误
危害等级:高
自评Rank:20
漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2016-03-22: 细节已通知厂商并且等待厂商处理中
2016-03-27: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
RT
详细说明:
上次提交审核大大没给通过,说是精确的获取用户id是关键,今天又考虑了一下,还是给我找到了。。
同样上次的流程再走一遍,用两个邮箱来说明:
邮箱 1 --》获取三个重置密码的链接:
URL 1
unid MD5 解密得:
URL 2
unid MD5 解密得:
URL 3
unid MD5 解密得:
邮箱 2 --》获取两个链接:
URL 1
unid MD5 解密得:
URL 2
unid MD5 解密得:
那么这个时候就可一对比下解密后的uind,发现只有后四位不一样:
那么这个时候我们就可以生成一个四位数字的字典,在每个前面加上145860,这个在一天之中不会变的常数,然后进行32位md5加密即可对unid进行爆破。
好了unid的问题解决了,那么如何精确的获取用户的id呢?
老师说上课打笔记是个好习惯,我在51CTO打笔记的时候发现,有个同学的笔记,当然重点不在笔记,而是用户的名字,我点开看了一下审查了一下元素,发现网页源代码中已经泄露了用胡的id参数:
为了确定这个是用户的id值我用邮箱1 登录了一下,看了下确实和重置密码中的id值相同:
那么现在万事具备了,为了不影响其他用户,我就拿邮箱2来重置了:
首先拼接常数生成32为md5加密的字典:
然后就是获取id值对unid进行爆破,:
爆破成功:
漏洞证明:
修复方案:
RT
版权声明:转载请注明来源 js2012@乌云
漏洞回应
厂商回应:
危害等级:无影响厂商忽略
忽略时间:2016-03-27 09:40
厂商回复:
漏洞Rank:15 (WooYun评价)
最新状态:
暂无