一、验证方式可绕过
常见的验证方式有:验证码(字符或数值计算),滑动验证(滑块或特定路径),点击验证(按照要求点击字符或图案)等。
再次发送该请求,查看响应结果
结果如上图,说明验证码无效,可以重复利用该请求恶意批量注册(类似短信轰炸)
修复建议:
1、增强验证码机制,为防止验证码被破解,可以适当增加验证码生成的强度,例如中文图形验证码。
2、限制一定时间内IP登录失败次数。
二、账号可枚举
漏洞描述:
接口对于不同的账号、密码返回的数据不一样,攻击者可以通过回显差异进行用户名的枚举,拿到账户名之后,再进行密码的爆破
修复建议
1、用户名或密码输入错误均提示“用户名或密码错误”,防止黑客获取到注册用户信息。
2、限制用户登录失败次数。
3、限制一定时间内IP登录失败次数
三、密码未加密
四、手机验证码可爆破
漏洞描述
对验证码输入错误次数没有做任何限制+验证码的时效性高于爆破时间
修复建议:
1.点击获取手机验证码后产生即时更新强图形验证码
2.限制输入错误次数
3.缩短验证码的有效期
五、短信轰炸
漏洞描述
修复建议:
1.后端对同一手机号在某段时间只能发送一条短信,并且设置发送次数的上限
六、覆盖注册
七、任意用户密码重置
使用session对当前用户的权限做校验