1. 问题说明

测试移动客户端时需要查看 APP 是否对登录尝试次数进行了限制,如果没有登录错误次数进行限制的话,那么攻击者就可通过爆破的方法攻击用户的账户。

2. 测试步骤

2.1 密码尝试

测试的方法很简单,在登录界面对用户的密码进行错误尝试,看 APP 是否有错误次数的限制,如下图所示,该 APP 只有 3 次密码尝试的机会,那么就说明该 APP 是有账户锁定策略的。
账户锁定策略 - 图1

并且在尝试 3 次错误密码后账户确实被锁定,如果 APP 只是有显示次数限制,但服务端并未做相应的限制,那么存在问题的。
账户锁定策略 - 图2

2.2 特殊情况

如果 APP 没有错误次数限制,但是存在不能被破解的验证码等限制措施,这样的话也是没有问题的。

但如果没有任何的其他限制措施且没有账户锁定策略,那么就可以尝试爆破,该 APP 在此项测试中就是存在问题的。

3. 修复建议

建议在服务端编写账户锁定策略的逻辑,当一段时间或一天内多次输入错误密码时根据 IP 或者账号进行账号锁定以防止攻击者通过暴力猜解密码。