验证设计存在逻辑问题,验证通过的key对没有时间限制。一次正常通过的key对可以无限次通过验证,验证码形同虚设
上述代码为印象码提供的sdk,可以看到其网站主后台判断用户是否通过验证是通过一个简单的md5计算后的比较进行的,没有设计时间问题,所以,任何时候,可以通过的key对都可以通过。其没有考虑验证过期的问题
通过这段代码对其官方提供的php版本demo进行测试,发现上午说明成立。
或者,通过 浏览器 测试,假如一次通过,后面刷新该页面都可以通过。
修复方案: 方式一:
加入时间戳
缺点:网站主服务器时间错误将无法通过验证
方式二:
网站主拿到前台传回的信息后去印象码服务器验证,如果通过,印象码服务器将次key对的状态标记为过期。
缺点:对服务器实时性要求高
查看更多关于印象码验证存在重大逻辑问题可以简单绕过(含修的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did14748