神刀安全网

漏洞标题: 51CTO之任意密码重置风险(各种组合综合利用)

漏洞详情

披露状态:

2016-03-22: 细节已通知厂商并且等待厂商处理中
2016-03-27: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

RT

详细说明:

上次提交审核大大没给通过,说是精确的获取用户id是关键,今天又考虑了一下,还是给我找到了。。

同样上次的流程再走一遍,用两个邮箱来说明:

邮箱 1 –》获取三个重置密码的链接:

URL 1

code 区域
http://ucenter.51cto.com/setemailpass.php?id=7804861&unid=7747d234f4b2b8cab3e55485f2884abc

unid MD5 解密得:

code 区域
1458607665

URL 2

code 区域
http://ucenter.51cto.com/setemailpass.php?id=7804861&unid=679c5b68bc1b974db24b3c2ca38660a4

unid MD5 解密得:

code 区域
1458607794

URL 3

code 区域
http://ucenter.51cto.com/setemailpass.php?id=7804861&unid=27b8a923b86dfba72b40673a7fbecc14

unid MD5 解密得:

code 区域
1458607984

邮箱 2 –》获取两个链接:

URL 1

code 区域
http://ucenter.51cto.com/setemailpass.php?id=10007943&unid=fc0b2180ee91325e44e9782f5b79cad8

unid MD5 解密得:

code 区域
1458608098

URL 2

code 区域
http://ucenter.51cto.com/setemailpass.php?id=10007943&unid=cca1df879eec29c438ff2b3767769ef7

unid MD5 解密得:

code 区域
1458608188

那么这个时候就可一对比下解密后的uind,发现只有后四位不一样:

漏洞标题:  51CTO之任意密码重置风险(各种组合综合利用)

那么这个时候我们就可以生成一个四位数字的字典,在每个前面加上145860,这个在一天之中不会变的常数,然后进行32位md5加密即可对unid进行爆破。

好了unid的问题解决了,那么如何精确的获取用户的id呢?

老师说上课打笔记是个好习惯,我在51CTO打笔记的时候发现,有个同学的笔记,当然重点不在笔记,而是用户的名字,我点开看了一下审查了一下元素,发现网页源代码中已经泄露了用胡的id参数:

漏洞标题:  51CTO之任意密码重置风险(各种组合综合利用)

为了确定这个是用户的id值我用邮箱1 登录了一下,看了下确实和重置密码中的id值相同:

漏洞标题:  51CTO之任意密码重置风险(各种组合综合利用)

那么现在万事具备了,为了不影响其他用户,我就拿邮箱2来重置了:

首先拼接常数生成32为md5加密的字典:

漏洞标题:  51CTO之任意密码重置风险(各种组合综合利用)

然后就是获取id值对unid进行爆破,:

漏洞标题:  51CTO之任意密码重置风险(各种组合综合利用)

爆破成功:

漏洞标题:  51CTO之任意密码重置风险(各种组合综合利用)

漏洞证明:

漏洞标题:  51CTO之任意密码重置风险(各种组合综合利用)

漏洞标题:  51CTO之任意密码重置风险(各种组合综合利用)

修复方案:

RT

版权声明:转载请注明来源 js2012@乌云

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » 漏洞标题: 51CTO之任意密码重置风险(各种组合综合利用)

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
分享按钮