咕咚网忘记密码找回功能涉及权限,导致在知道注册邮箱的情况下可以修改任意用户的密码。 第一步,点击忘记密码,会要求输入注册邮箱,输入点击找回密码会收到一份邮件 可以看到找回密码url是主要由邮箱和4位数字验证码构造而成,而且24小时有效。 下面用burps
第一步,点击忘记密码,会要求输入注册邮箱,输入点击找回密码会收到一份邮件

可以看到找回密码url是主要由邮箱和4位数字验证码构造而成,而且24小时有效。
下面用burpsuite访问抓包 intruder之!
访问找回密码url,抓包,发送到intruder,将验证码标记

生成4位数字随机组合字典文件,如图(测试随意添加了点):

然后开始,根据返回包的大小来判断是否成功!如图:

可以看到正确的包大小是10190.
知道注册邮箱地址就可以进行修改密码操作!
修复方案:
1,对找回密码URL增加时间限制,24小时太长;
1,对找回密码URL增加时间限制,24小时太长;
2,对验证code用数字字母等组合,位数搞长点;
3,判断重置密码url中的邮箱,如果多次同一个邮箱做reset_password的请求,就进行限制!