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

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

缺陷编号:wooyun-2013-017937

漏洞标题:我是如何重置好大夫任意用户密码的

相关厂商:好大夫在线

漏洞作者: se55i0n

提交时间:2013-01-27 08:35

修复时间:2013-03-13 08:36

公开时间:2013-03-13 08:36

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

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-01-27: 细节已通知厂商并且等待厂商处理中
2013-01-27: 厂商已经确认,细节仅向厂商公开
2013-02-06: 细节向核心白帽子及相关领域专家公开
2013-02-16: 细节向普通白帽子公开
2013-02-26: 细节向实习白帽子公开
2013-03-13: 细节向公众公开

简要描述:

求礼物,求给力!

详细说明:

1)注册用户一枚,绑定邮箱:[email protected],来到用户密码重置功能,输入绑定邮箱;

2.png


2)点击提交并抓包,发现在校验邮箱有效性之后,在发送密码重置邮件过程中出现了“邮箱帐号”和“用户ID”;

3.png


3)尝试将邮箱帐号改为“[email protected]”并提交,系统提示发送成功;

4.png


4)登陆[email protected]邮箱查看,果然收到了好大夫系统发送的密码重置邮件;

8.png


5)既然在重置过程中能够修改密码重置链接接收邮箱,那么能不能修改用户的ID呢;在上面的测试过程中,我们发现用户ID为一个9位数字且并非连续,于是再注册一枚用户,重复上面的测试在过程中替换用户ID为[email protected]用户的ID,依然测试成功;
6)既然在这个过程中不管替换密码重置链接接送邮箱、亦或是用户ID,都能成功进行密码重置操作,那么能不能不用抓包修改这些参数,直接操作呢?在上面的测试过程中,我们发现密码重置url请求格式如下:

http://passport.haodf.com/user/sendpassword?type=email&input=密码重置链接接收邮箱&userId=9位数字用户ID


7)直接构造如下请求url请求;

http://passport.haodf.com/user/sendpassword?type=email&[email protected]&[email protected]的用户ID


8)真不敢想象,这样就直接获取到了该用户的密码重置链接;

9.png


PS:用户ID虽然不连续,但是为9位数字且貌似前3位固定不变,我们通过遍历即可获取到所有有效用户ID,这个危害你们自己评估吧!最后,求个新年礼物!!!

漏洞证明:

见详细说明~

修复方案:

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2013-01-27 12:46

厂商回复:

很给力的漏洞,我们会尽快修复此漏洞。

最新状态:

暂无