弱Token设计缺陷测试,Session覆盖测试
Session覆盖测试
测试原理和方法
找回密码逻辑漏洞测试中也会遇到参数不可控的情况,比如要修改的用户名或者绑定的手机号无法在提交参数时修改,服务端通过读取当前session会话来判断要修改密码的账号,这种情况下能否对Session中的内容做修改以达到任意密码重置的目的呢?
在某网站中的找回密码功能中,业务逻辑是:由用户使用手机进行注册,然后服务端向手机发送验证码短信,用户输入验证码提交后,进入密码重置页面。对网站中Session覆盖的测试如下:
(1) 需要准备自己的账号接收凭证 (短信验证码) ;
(2) 获得凭证校验成功后进入密码重置页面;
(3) 在浏览器新标签重新打开找回密码页面,输入目标手机号;
(4) 此时当前 Session 账户已经被覆盖,重新回到第二步中打开的重置密码页面即可重置目标手机号
测试流程
步骤一:在找回密码页面中输入 A 手机号(尾号 3274),然后单击“下一步”按钮如图 所示。
步骤二:单击“立即验证”按钮,接收短信验证码。输入验证码通过验证后,就可以进入密码重置页面了,如图 所示。
步