3.1.3 认证可能出现的问题
1.密码猜测
以下哪种错误提示更加适合呢?
1)输入的用户名不正确。
2)输入的密码不正确。
3)输入的用户名或密码不正确。
前面两种提示信息其实是在暗示用户正确输入了什么,哪个不正确。而第三种给出的提示就比较模糊,可能是用户名,也可能是密码错误。如果非要说前两种提示信息更准确更易于普通用户的话,就会给黑客们带来可乘之机,实在不知道到底是哪个错误了,难度增加不少。使用工具或批处理脚本来强制枚举破解的话也需要更多的时间。
2011年11月22日,360安全中心发布了中国网民最常用的25个“弱密码”:000000、111111、11111111、112233、123123、123321、123456、12345678、654321、666666、888888、abcdef、abcabc、abc123、a1b2c3、aaa111、123qwe、qwerty、qweasd、admin、password、p@ssword、passwd、iloveyou、5201314。
如何应对密码猜测攻击呢?一般有以下几种方案:
1)超过错误次数账户锁定。
2)使用RSA/验证码。
3)使用安全性高的密码策略。
很多网站是三种结合起来使用的。另外,在保存密码到数据库时也一定要检查是否经过严格的加密处理,不要再出现某天网站被暴库了,结果却保存的是明文密码。
2.找回密码的安全性
最不安全的做法就是在邮件内容中发送明文新密码,一旦邮箱被盗,对应网站的账号也会被盗;一般做法是邮件中发送修改密码链接,测试时就需要特别注意用户信息标识是否加密,加密方法以及是否易破解;还有一种做法就是修改时回答问题,问题回答正确才能进行修改。
3.注册攻击
常见的注册攻击是恶意注册,以避免注册后恶意搜索引擎爬取,在线机器人投票,注册垃圾邮箱等。缓解注册攻击的方法:使用RSA/验证码。