1. 问题说明
测试客户端是否检查用户输入密码的强度,是否覆盖常见的弱口令,以免攻击者通过字典爆破用户密码。此外对于金融类客户端,还应该检查手机银行的登录密码是否与交易密码相同,是否与银行卡交易密码相同。如果没有对密码的复杂度进行要求的话,用户很可能因为方便而使用弱密码,从来造成攻击者可尝试通过弱口令攻击用户账户。
2. 测试步骤
尝试将密码设置为弱口令,检测 APP 是否允许设置弱口令密码。如 APP 没有密码复杂度策略,可以将密码设置为 1 或者 123456 等这种弱口令。还有一种是 APP 虽然要求用户设置密码为 6-20 字符,但并未对密码复杂度进行检测,仍然可以设置为 123456 等弱密码。
而正常的情况下输入弱口令或者不符合复杂度策略的应该予以拒绝设置。
3. 修复建议
建议增加检测密码复杂度的安全策略,并将其运用到账号注册,密码修改等需要进行密码验证和变更的场景,以防止攻击者通过弱密码遍历账户或者对某一账户遍历密码的方式进行暴力猜解。