Pikachu关于暴力破解的解释:
    Burte Force(暴力破解)概述
    “暴力破解”是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。 其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。 为了提高效率,暴力破解一般会使用带有字典的工具来进行自动化操作。
    理论上来说,大多数系统都是可以被暴力破解的,只要攻击者有足够强大的计算能力和时间,所以断定一个系统是否存在暴力破解漏洞,其条件也不是绝对的。 我们说一个web应用系统存在暴力破解漏洞,一般是指该web应用系统没有采用或者采用了比较弱的认证安全策略,导致其被暴力破解的“可能性”变的比较高。 这里的认证安全策略, 包括:
    1.是否要求用户设置复杂的密码;
    2.是否每次认证都使用安全的验证码(想想你买火车票时输的验证码~)或者手机otp;
    3.是否对尝试登录的行为进行判断和限制(如:连续5次错误登录,进行账号锁定或IP地址锁定等);
    4.是否采用了双因素认证;
    …等等。
    千万不要小看暴力破解漏洞,往往这种简单粗暴的攻击方式带来的效果是超出预期的!

    下面是我的理解:
    所谓暴力破解就是把有可能的密码都试一遍,只不过有密码字典和工具提高了效率而已,背后也涉及弱口令和不安全的验证码。
    实现前提:失败次数没有限制,没有验证码或验证码不过期可以重复使用

    1. 基于表单的暴力破解:

    准备工作:需要burp抓包 —> 先开启本地代理,再对burp进行基础设置,再准备密码字典。
    1)提示已告知用户名是admin,所以我们先输入admin用户名,再任意输入密码,最后点击提交,burp会抓包,右击发送到暴力破解模块。image.png
    2)默认会进入Intruder模块下面的Positions选项,我们需要再下面第二个橙色Payload Positions的地方,对请求包添加密码变量,由于默认的有很多个变量,所以我们先清空变量clear$,再选中密码部分添加变量add$,最后再点上面的Payloads选项。image.png
    3)进入了Payloads后,去下面第二个Payloads Options,再点击load按钮,打开密码文件,然后再点击右上角的Start attack按钮开始即可。image.png
    image.png可以看到当密码是123456时,返回的长度独一无二,可想而知,密码就是123456了。

    1. 验证码绕过(on server):

    同样的操作,只是多了个服务端的验证码而已,根据提示说验证码会一直有效,所以我们可以再这个验证码有效期间一直暴力破解。
    image.png
    然后在Intruder模块下的positions下进行如下设置:
    image.png
    然后再Payloads下进行如下操作:
    image.png
    最终结果如下:
    image.png
    小总结一下:这次成功的前提是后端服务器的验证码没有过期,如果过期自然就不能暴力破解了,验证码不过期就可以一直重用。

    1. 验证码绕过(on client):

    提示说这次是前端的JavaScript检验验证码,这么说来后端不会管你数据包的验证码正确与否咯。同理,抓包爆破,说明一下,既然验证码只是JavaScript拦截前端的,那它可拦截不了数据包,所以验证码乱输都行。
    image.png
    老规矩,Intruder下的positions
    image.png
    一样,发送到Payloads模块添加字典开始爆破
    image.png
    结果如下:
    image.png
    说明前端验证码仅限制前端,完全限制不了Burp后端数据包的发送。

    1. token防爆破?

    token的概念需要去CSDN好好学一下,大概意思就是服务器给你生成一段字符串,你以后请求就带上它,对的上就给你正确的响应,对不上那就不给你想要的响应,但是这道题的token,虽然每次都不一样,但是却可以通过Burp读取响应中的token,然后携带上去爆破,有点小复杂。发明初衷是为了减轻服务器压力用的。
    这次操作上有所区别,如下图所示。
    image.png
    然后Intruder下positions部分:
    image.png
    然后Payloads部分:
    image.png
    然后这里还要去Options部分,对token进行设置
    1.设置线程数
    image.png
    2。添加token
    image.png 3.找到设置token
    image.png
    4.设置始终追随重定向:在Options的最下面
    image.png
    5.再对token进行Payloads设置:
    image.png
    6.结果image.png
    总结,token最主要应该还是拿来代替session,用来防密码爆破还是不可靠,前端可提取出来并携带。
    第4关参考文章:传送阵1传送阵2
    修复建议:

    1. 登录带验证码,验证码会过期
    2. 对登录用户失败次数进行限制
    3. 对登录ip失败次数进行限制,可封IP
    4. 不要使用弱口令

    至此,Pikachu密码爆破部分,完成,下一关。