记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

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

2016-03-27 15:50

上次提交审核大大没给通过,说是精确的获取用户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,发现只有后四位不一样:

G(@PJH2{[WG3([KQN9BOWLE.png



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

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

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

3LP58VE51SO~S6]{M~}~@TC.png



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

R3@QRIJ]JS7BF_ZDXQ0~CVV.png



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

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

YCS%KO7PMNE0YY@@P$L00~5.png



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

`J34UR1E7ONN4LI5LJS2A96.png



爆破成功:

SF3R4U{7W7@EK2M@M1([6XH.png





漏洞证明:

`J34UR1E7ONN4LI5LJS2A96.png



SF3R4U{7W7@EK2M@M1([6XH.png

修复方案:

RT

知识来源: www.wooyun.org/bugs/wooyun-2016-0187568

阅读:125339 | 评论:0 | 标签:无

想收藏或者和大家分享这篇好文章→复制链接地址

“51CTO之任意密码重置风险(各种组合综合利用)”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

关注公众号hackdig,学习最新黑客技术

推广

工具

标签云

本页关键词