漏洞描述:
暴力破解,顾名思义,就是通过大量已知的管理员用户名密码,对系统的登录页面进行大量尝试,直到成功获取可登录系统的正确账号密码。
测试方法:
1、找到网站登录页面。
2、利用burp对登录页面进行抓包,将其发送到Intruder,并设置其密码参数,如pwd=为变量,添加payload(字典),进行攻击,攻击过程中查看其返回的字节长度,来判断是否成功,正确的密码的返回长度和其他错误密码不同,很好找。
一般情况下,暴力破解有三种形式:
1) 固定账号对密码暴力破解。
2) 在得知账号具有规律性,或者通过某种方式获取到大量账号的前提下,固定密码对账号暴力破解。
3) 使用网上流传的账号密码库进行撞库攻击。
漏洞分析:
攻击者一般会使用自动化脚本组合出常见的用户名和密码,即字典,再结合软件burpsuite的intruder功能进行暴力破解。
漏洞等级:
视情况而定。
修复方案:
防止暴力攻击的一些方法如下:
1、账户锁定
账户锁定是很有效的方法,因为暴力破解程序在5-6次的探测中猜出密码的可能性很小。但是同时也拒绝了正常用户的使用。如果攻击者的探测是建立在用户名探测成功之后的行为,那么会造成严重的拒绝服务攻击。对于对大量用户名只用一个密码的探测攻击账户锁定无效。如果对已经锁定的账户并不返回任何信息,可能迷惑攻击者。
2、返回信息
如果不管结果如何都返回成功的信息,破解软件就会停止攻击。但是对人来说很快就会被识破。
3、页面跳转
产生登录错的的时候就跳到另一个页面要求重新登录。局限性在于不能总是跳转页面,一般只在第一次错误的时候跳转,但是第一次之后又可以继续暴力探测了。
4、适当的延时
检查密码的时候适当的插入一些暂停,可以减缓攻击,但是可能对用户造成一定的影响。
5、封锁多次登录的IP地址
这种方法也是有缺点的,因为攻击者可以定时更换自己的IP。
6、验证码
验证码是阻止暴力攻击的好方法,但设计不好的验证码是可以绕过的,而且对于特定目标的手工探测来说验证码是没有作用的。