接口参数账号修改测试
找回密码功能逻辑中常常会在用户修改密码接口提交参数中存在传递用户账号的参 数,而用户账号参数作为一个可控的变量是可以被篡改的,从而导致修改账号密码的凭证 或修改的目标账号出现偏差,最终造成任意账号密码修改的漏洞,
通常在找回密码逻辑中,服务端会要求用户提供要修改的账号,然后给这个账号发送 只有账号主人才能看到的凭证。比如给这个账号主人绑定的邮箱或手机号发送验证码,或 者找回密码的链接,这样可以保证只有账号主人才可以看到这些凭证。但是如果服务端对 账号的控制逻辑不当,就会导致原有账号被篡改为其他账号,服务端把凭证发送给篡改后 的账号的邮箱或手机,最终造成可利用凭证重置任意账号密码的漏洞。
修复建议
对找回密码的 Token 做一对一的校验,一个 Token 只能修改一个用户,同时一定要 保证Token不泄露。