基于表单的暴力破解
1、使用burp拦截请求,发到Intruder进行爆破,设置插入点以及攻击模式
2、设置payload和字典
3、点击Start attack开始攻击,可以根据Length和响应来判断是否爆破成功,可以看到我们成功爆破出三组对应的用户名和密码
验证码绕过(on client)
1、尝试输入错误的验证码,发现是页面弹框提示验证码错误,怀疑验证码有可能是前端校验的,右键打开网页源码果然发现有前端校验验证码的js脚本
2、输入正确的验证码,抓包并发到Intruder,设置插入点以及攻击模式
3、设置payload和字典
4、点击Start attack开始攻击,可以根据Length和响应来判断是否爆破成功,可以看到我们成功爆破出三组对应的用户名和密码
验证码绕过(on server)
1、输入错误验证码,返回验证码输入错误。输入正确验证码,返回用户名或密码不存在
2、每次提交页面都会刷新。猜想如果不提交是不是验证码就一直有效,随便抓取一个包,发到repeater模块,修改用户名密码重新发送,可以看到提示的是用户名或密码不存在,验证了我们的猜想
3、剩下的就好办了,依旧是发到Intruder,设置插入点以及攻击模式
4、设置payload和字典
5、点击Start attack开始攻击,可以根据Length和响应来判断是否爆破成功,可以看到我们成功爆破出三组对应的用户名和密码
token防爆破
1、输入用户名密码后抓包,发到Repeater,修改以后重新发送,可以看到除了第一次返回用户名或密码错误,后面都是返回token错误
2、猜想是每次请求以后都需要带入服务器生成的新的token参数,那么这个新的token怎么返回的呢,检查响应里面,可以看到本次响应携带了下次请求的token验证了猜想
3、将包发到Intruder,设置插入点和攻击模式,这里攻击模式需要选择Pitchfork(payload一一对应,数量为最少的payload的数量)为何不用Cluster bomb,因为Cluster bomb是三组payload排列组合,但token只能用一次
4、设置payload和字典
4.1 第三个payload options里面的值是哪儿来的呢,我们需要先去Options里面 Grep-Extract点击add开始配置
4.2 点击Refetch response,然后找到需要的值,双击,可以看到上面的正则匹配已经自动生成