鸿 网 互 联 www.68idc.cn

麦包包任意用户密码重置漏洞(二)

来源:互联网 作者:佚名 时间:2016-05-07 10:05
之前发了麦包包任意用户密码重置的漏洞,http://www.wooyun.org/bugs/wooyun-2010-021480,今天去看了下,已经采取相应的措施进行修补了。于是改变思路,结果发现可以以另一种方法重置麦包包任意用户密码,比上次的更严重,秒改啊!~~ 详细说明:漏洞原因:
之前发了麦包包任意用户密码重置的漏洞,http://www.wooyun.org/bugs/wooyun-2010-021480,今天去看了下,已经采取相应的措施进行修补了。于是改变思路,结果发现可以以另一种方法重置麦包包任意用户密码,比上次的更严重,秒改啊!~~
详细说明:漏洞原因:
 
 
 
重置密码的链接没有进行严格的验证。重置密码链接组成如下:
 
 
 
 
http://login.mbaobao.com/reset_password.html?username=用户名&code=一串貌似是md5的加密字符
 
 
 
可以通过修改username处的用户名,来重置任意用户密码。
 
 
 
 
 
重置密码证明过程:
 
 
 
1 老规矩,点击忘记密码
 
 
 
 
2 选择邮箱找回密码
 
3 邮箱中收到一条找回密码的链接
 
 
4 点击那个链接,会进入密码重置页面
 
5 将地址栏的邮箱账户,修改成另一个小号(手机号注册的),发现也可以进入修改密码的页面
 
6 修改密码,显示修改成功。
 
7 去登录试试,成功登录
 
 
8 只是重置自己的小号,貌似说服力不够额。那就去随便修改下别人的,这里我试了试用户名为 mbaobao 
 
 
 
表示毫无压力,秒改!(这里麻烦你通过之前的数据库给把密码改回去吧)
 
 







证明过程如上。
 
 
 
个人猜测存在这个漏洞的原因是因为,那个密码重置地址的验证有问题,应该是这么验证的:
 
 
 
判断code和username是否均存在于服务器的数据库中,如果是,那就验证通过。
 
而并没有判断code和username是否一一对应,或者压根设计的时候就没有设计成一一对应。
 
 
 
而且这个code没有时间有效期的限制,测试的时候我所用的链接的code是我4天前获取的。
 
 
 
并且这个code也没有次数的限制,貌似永远不会失效。。。
 
 
 
相比上个密码重置漏洞,  麦包包 任意用户密码重置漏洞 ,这个是更加的严重额,只需要知道用户名,就可以秒改密码了。。。
 
 
修补:
1 设置code和username为一一对应
 
2 设置code的时效性和设置一个code只能用一次就失效
 
网友评论
<