一、暴力破解概述
“暴力破解”是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。 其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。 为了提高效率,暴力破解一般会使用带有字典的工具来进行自动化操作。
理论上来说,大多数系统都是可以被暴力破解的,只要攻击者有足够强大的计算能力和时间,所以断定一个系统是否存在暴力破解漏洞,其条件也不是绝对的。 我们说一个web应用系统存在暴力破解漏洞,一般是指该web应用系统没有采用或者采用了比较弱的认证安全策略,导致其被暴力破解的“可能性”变的比较高。 这里的认证安全策略, 包括:
1.是否要求用户设置复杂的密码;
2.是否每次认证都使用安全的验证码(想想你买火车票时输的验证码~)或者手机otp;
3.是否对尝试登录的行为进行判断和限制(如:连续5次错误登录,进行账号锁定或IP地址锁定等);
4.是否采用了双因素认证;
...等等。
千万不要小看暴力破解漏洞,往往这种简单粗暴的攻击方式带来的效果是超出预期的!
二、暴力破解漏洞的利用
1、进入靶场
2、首先随便输入一个账号密码登录,它提示username or password is not exists~(用户名和密码不存在)
3、然后到Burp Suite上看一下对应的抓包,可以看到提交的是一个POST请求,它的认证因素只有账号和密码,没有验证码。所以可以确定可以做暴力破解
4、接下来选中这个请求,发送到intruder模块
5、找到Positions模块,先把默认的元素clear掉
6、把需要测试的账号和密码设置成动态变量,攻击类型选择集束炸弹(因为不知道账号密码,集束炸弹能排列更多的可能)
7、导入账号和密码的文件
8、进行爆破,爆破完毕后,对结果进行排序,正确的账号密码与其他的返回包不同
9、用上面三组账号密码分别登录,登陆成功