测试弱密码策略
ID |
---|
WSTG-ATHN-07 |
总结
- 最普遍和最容易管理的身份验证机制是静态密码。密码代表着王国的钥匙,但经常被用户以可用性的名义颠覆。在最近每一次泄露用户凭据的高调黑客攻击中,令人遗憾的是,最常见的密码仍然是:
123456
,password
和qwerty
.
测试目标
- 通过评估密码的长度、复杂性、重用和老化要求,确定应用程序对使用可用密码字典进行暴力破解的抵抗力。
如何测试
- 密码中允许和禁止使用哪些字符?用户是否需要使用不同字符集的字符,例如小写和大写字母、数字和特殊符号?
- 用户多久可以更改一次密码?用户在上次更改后更改密码的速度有多快?用户可以通过连续更改密码 5 次来绕过密码历史记录要求,以便在最后一次更改密码后再次配置初始密码。
- 用户何时必须更改密码?
- 用户多久可以重复使用一次密码?应用程序是否保留用户以前使用的 8 个密码的历史记录?
- 下一个密码与上一个密码有何不同?
- 是否阻止用户在密码中使用其用户名或其他帐户信息(例如名字或姓氏)?
- 可以设置的最小和最大密码长度是多少,它们是否适合帐户和应用程序的敏感度?
- 是否可以设置常用密码,例如
Password1
或123456
?
修复
为了降低容易猜到密码导致未经授权访问的风险,有两种解决方案:引入额外的身份验证控制(即双因素身份验证)或引入强密码策略。其中最简单和最便宜的是引入强密码策略,确保密码长度、复杂性、重用和老化;尽管理想情况下,两者都应该实施。