密码找回流程绕过测试
很多网站的密码找回功能一般有以下几个步骤。
(1)用户输入找回密码的账号;
(2)校验凭证:向用户发送短信验证码或者找回密码链接,用户回填验证码或单击链接进入密码重置页面,以此方式证明当前操作用户是账号主人;
(3)校验成功进入重置密码页面。 在找回密码逻辑中,第二步校验凭证最为重要。不是账号主人是无法收到校验凭证 的,试想有没有办法可以绕过第二步凭证校验,直接进入第三步重置密码呢? 用户修改密码需要向服务器发送修改密码请求,服务器通过后再修改数据库中相应的 密码,所以在测试中我们首先要收集三个步骤的请求接口,重点是收集到最后一步重置密 码的接口,这样我们可以直接跳过凭证校验的接口去尝试直接重置密码。 在下面的密码找回案例中,需要用户填写要找回的账号然后验证身份,之后才可以进 入设置新密码的页面,我们需要对这个流程所有请求的接口做分析,找出最后一步重置密 码的接口,接着使用URL测试是否可以跳过验证身份环节。
修复建议
防止跳过验证步骤一定要在后端逻辑校验中确认上一步流程已经完成。