10.2.1 撞库漏洞

10.2.1 撞库漏洞

撞库漏洞是指登录口没有做登录次数限制,导致可以使用不同的用户及密码进行不断的登录尝试,以遍历用户密码,也可以理解为登录爆破,如图10.6所示。

图10.6 登录爆破

撞库漏洞有以下几种情况:

(1)用户名和密码错误次数都无限制。这种情况是早期比较常见的,可以载入用户名和密码字典对登录口不断进行请求尝试。

(2)单时间段内用户的密码错误次数限制。之前有个“锁QQ”的茬儿,说的是QQ登录密码连续错误次数30次,就会被锁定QQ,就有人利用这个问题不断地去锁定别人的QQ。这种方式是基于账号可信认证,密码错误次数存在限制,认证的是账号。所以这种情况也是可以撞库的,只要我们有一个用户名列表,爆破完一个密码还不能登录就换一个用户,或者干脆基于社工库的密码来撞。

(3)单时间段内IP登录错误次数限制。比较典型的是discuz,就是基于IP来限制登录,当一个IP登录5次后还没有成功登录,则会被禁止该IP登录,不过discuz获取的Client-IP存在绕过的问题。这种防御撞库的手段存在一个误杀的问题,如果出口IP里面还有一个大内网,比如企业网、学校网,这时候就会误杀其他用户。

针对撞库漏洞比较好的解决方案是使用登录验证码和多因素认证,登录验证码有很多种,选择安全的验证方式也很关键,因为目前网络上还有专门提供人工打码的服务平台。