条件:单页面密码重置,只在一个页面完成密码重置、短信验证,短信验证不会跳转到另一个页面重置密码。这种方式现在很少采用,并不安全。
思路:在该页面使用我们的手机号进行密码重置,获取自己的短信验证码。在另一个窗口中打开密码重置界面,重置B手机号的登录密码,获取短信验证码(我们不知道这个验证码),但可以替换成我们自己的验证码,最后B手机号登录密码重置成功
1、打开靶场
2、靶场要求重置17101304128的登录密码,用于登录该账号。点进去来到重置密码界面,可以看到我们的手机号是18868345809
3、输入我们的手机号,设置新密码,点击获取短信验证码,得到短信验证码为SFAWbw
4、在另一个浏览器打开靶场,输入要重置密码的目标手机号17101304128,设置新密码为666666 点击获取短信验证码。
系统提示验证码已经发送到这个17101304128手机号。(当然我们不知道发送给他验证是什么,因为这不是我们的手机号)
5、这里我们不知道发送到对方手机号的验证码是什么,但是可以用之前我们自己手机号得到的验证码SFAWbw输入进去,然后点击重置密码
6、17101304128手机号的密码重置成功,得到key。
PS:这种漏洞实际基本不会遇到,只能在靶场练习一下。现在一般都采用多界面跳转验证重置密码,并且在服务端也有验证防范措施。