Web 攻防之业务安全:验证码客户端回显测试.
业务安全是指保护业务系统免受安全威胁的措施或手段。广义的业务安全应包括业务运行的软硬件平台(操作系统、数据库,中间件等)、业务系统自身(软件或设备)、业务所提供的服务安全;狭义的业务安全指业务系统自有的软件与服务的安全。
目录:
第一步:使用浏览器访问该网站,在找回密码页面中建议输入一个手机号码。
免责声明:
严禁利用本文章中所提到的技术进行非法攻击,否则后果自负,上传者不承担任何责任。
验证码客户端回显测试:
测试原理和方法:
当验证码在客户端生成而非服务端生成时,就会造成此类问题。当客户端需要和服务器进行交互发送验证码时,可借助浏览器的工具查看客户端与服务器进行交互的详细信息。
测试过程:
攻击者进入找回密码页面。输入手机号,获得验证码。服务器会向手机发送验证码,通过浏览器工具查看返回包的信息,如果返回包中含有验证码证明,存在验证码客户端回显.
第一步:使用浏览器访问该网站,在找回密码页面中建议输入一个手机号码。
第二步:点击下一步按钮,即可向该手机发送短信验证码。按 F12 键启动浏览器调试工具可以看到短信验证码在本地生成.(按 F12 键 --> Network --> Name --> Respone 【可以看到验证码】)或(使用Burp Suite 抓包查看响应包的内容可以看到.)
第三步:输入本地生成的验证码.
第四步:进入重置验证码页面.
第五步:重置密码成功.
修复建议:
(1)禁止验证码在本地客户端生成,采用服务器端验证码生成机制.
(2)设置验证码的时效性,如180秒过期.
(3)验证码应随机生成且使用一次即失效.
学习的书籍:Web 攻防之业务安全实战指南.