如何防止暴力破解密码?我们来看下面这个伪码:
if input==pwd: user.user_private_login_ok_counter+=1 if user.user_private_login_ok_counter>1: login_ok()else: user.user_private_login_fail_counter+=1 user.user_private_login_ok_counter=0 if user_private_login_fail_counter>3: call_security()
连错三次后锁账户或者启动复杂验证,这个很常见,那么为啥输对了还要再输一次呢?
某些不守规矩的网站收集了用户的明文密码,从中挖掘用户的命名习惯.这时候它们字典的成功率大大提高.于是传统的防暴力破解就可能出现在安全机制触发前被破掉,让用户连输几遍正确密码才能放行,这的确是一个奇葩的想法,这样的隐患是出现中间劫持时候不容易被发现,然而既然出现了中间劫持完全有可能发生更复杂的中间劫持,对于那些登陆以后没有给用户一个非常个性化的用户私人页面的网站(这样做的的确很少),用户依然可能出现遭到更复杂劫持的可能.
然而逗逼的是,如果连输好几遍正确密码才能进入系统,那么拿到了精准小字典的人就完全有可能面对一种奇葩的防御脑洞:连输两次正确密码?会不会出现其他规律?要不要做个排列组合?OK,小字典也慢慢变成大字典了(笑哭)