网站地图    收藏   

主页 > 后端 > 网站安全 >

我是如何重置好大夫任意用户密码的 - 网站安全

来源:自学PHP网    时间:2015-04-17 11:59 作者: 阅读:

[导读] 1)注册用户一枚,绑定邮箱:xxx@sina.com,来到用户密码重置功能,输入绑定邮箱;2)点击提交并抓包,发现在校验邮箱有效性之后,在发送密码重置邮件过程中出现了邮箱帐号和用户...

1)注册用户一枚,绑定邮箱:xxx@sina.com,来到用户密码重置功能,输入绑定邮箱;


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


3)尝试将邮箱帐号改为“xxx@sina.cn”并提交,系统提示发送成功;


4)登陆xxx@sina.cn邮箱查看,果然收到了好大夫系统发送的密码重置邮件;


5)既然在重置过程中能够修改密码重置链接接收邮箱,那么能不能修改用户的ID呢;在上面的测试过程中,我们发现用户ID为一个9位数字且并非连续,于是再注册一枚用户,重复上面的测试在过程中替换用户ID为xxx@sina.com用户的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&input=xxxxx@qq.com&userId=XX@sina.com的用户ID

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

 

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

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论