当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2013-021771

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

相关厂商:麦包包

漏洞作者: px1624

提交时间:2013-04-14 11:38

修复时间:2013-05-29 11:39

公开时间:2013-05-29 11:39

漏洞类型:设计缺陷/逻辑错误

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-04-14: 细节已通知厂商并且等待厂商处理中
2013-04-15: 厂商已经确认,细节仅向厂商公开
2013-04-25: 细节向核心白帽子及相关领域专家公开
2013-05-05: 细节向普通白帽子公开
2013-05-15: 细节向实习白帽子公开
2013-05-29: 细节向公众公开

简要描述:

之前发了麦包包任意用户密码重置的漏洞,http://www.wooyun.org/bugs/wooyun-2010-021480,今天去看了下,已经采取相应的措施进行修补了。于是改变思路,结果发现可以以另一种方法重置麦包包任意用户密码,比上次的更严重,秒改啊!~~

详细说明:

漏洞原因:
重置密码的链接没有进行严格的验证。重置密码链接组成如下:

http://login.mbaobao.com/reset_password.html?username=用户名&code=一串貌似是md5的加密字符


可以通过修改username处的用户名,来重置任意用户密码。
重置密码证明过程:
1 老规矩,点击忘记密码
图1

1.png


2 选择邮箱找回密码
图2

2.png


3 邮箱中收到一条找回密码的链接
图3

3.png


4 点击那个链接,会进入密码重置页面
图4

4.png


5 将地址栏的邮箱账户,修改成另一个小号(手机号注册的),发现也可以进入修改密码的页面
图5

5.png


6 修改密码,显示修改成功。
图6

6.png


7 去登录试试,成功登录
图7

7.png


8 只是重置自己的小号,貌似说服力不够额。那就去随便修改下别人的,这里我试了试用户名为 mbaobao
表示毫无压力,秒改!(这里麻烦你通过之前的数据库给把密码改回去吧)
图8

8.png


漏洞证明:

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

修复方案:

修补
1 设置code和username为一一对应
2 设置code的时效性和设置一个code只能用一次就失效

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2013-04-15 08:33

厂商回复:

感谢 px1624,我们正安排修复!

最新状态:

2013-04-15:已修复