精心设计的验证机制强制要求密码满足各种要求,如最小密码长度和同时使用大小写字符。相应地,一些设计不佳的验证机制不仅没有强制执行这些最佳实践,而且对用户遵守这些要求的愿望置之不理。
例如,一些应用程序截短密码,只确认前n 个字符;一些应用程序并不对密码进行大小写检查;一些应用程序在检查密码之前删除不常用的字符(有时以执行输入确认为借口)。最近,一些相当有名的应用程序都被确认具有此类行为,一些好奇用户的试验和错误致使人们发现了这一问题。
以上这些密码确认限制可显著减少可能的密码数量。通过实验,渗透测试员可以判定一个密码是否得到完全确认,或者某个限制是否生效。然后就可以针对登录机制的自动攻击方法进行调整,删除不必要的测试,大量减少攻破用户账户所需提交的请求的数量。