Pikachu漏洞练习平台(暴力破解模块)

第一步链接数据库 修改配置文件,重置数据库~

基于表单的暴力破解

进入暴力破解的子选项:基于表单的暴力破解。我们可以看到如下界面


我们随便输入信息然后设置代理用burp suite 进行拦截数据包。

 发送到Intruer模块。
这里简单介绍一下Intruer模块。里面有四个选项卡,分别是:

    1. attack tarage 攻击目标
    2. positions 攻击位置
    3. payloads 攻击有效载荷
    4. options 其他选项

 

burpsuit里四种爆破模式区别

sniper:狙击手

如果有两个爆破点,就在原来的基础上,单个修改,把payload值插入,

如:字典里的数为3,爆破点为2,总共爆破6次   3+3=6  

字典里的数为500,爆破点为2,总共爆破500+500  1000次

battering ram:攻城锤:同时进行得

如果有两个爆破点,那么会同时替换字典里的值,即爆破时两个点的值是相通的,

如:字典里有3个,爆破点有两个,爆破3次。 

pitch-fork:插稻草的叉子:

可以在每个爆破点载入不同的字典。position1,2·······如:pos1载入3个值的字典,pos2载入100个值的字典,它会按顺序匹配,以最少的payload为准,总共爆破3次。

添加了两个参数的话 ,要求添加两个payload
pl1:1,2
pl2:3,4
那么第一爆破为 1,3
而二次爆破为2,4
如果两个payload行数不一致的话,取最小值进行测试。所以爆破的次数取两个中最小的为准。

cluster bomb:集束炸弹:

同样可以载入多个字典,是采用排列组合的方式,将每个position的所有情况和其他依次组合,如:pos1有3个值,pos2有100个值,总共爆破300次。若pos1有300,pos2有300,爆破90000次

Sinper:一个变量设置一个payload进行攻击

Battering ram:可以设置两个变量,把payload同时给两个变量

Pitchfork:两个变量分别设置payload,然后按顺序一一对应进行破解

Cluster bomb:两个变量分别设置payload,然后交叉列所有情况进行破解(常用)

positions 攻击位置:

payloads 攻击有效载荷:

开始爆破:

 

 

 

尝试登录 登陆成功

 

验证码绕过(on server)在服务器端

 

输入之后抓包,

 

发送到Reperter  

在前端修改验证码

修改验证码后,

我们再多次输入用户名和密码 ,验证码 也不再被校验

说明这个验证码 可以重复被使用

我们发现验证码可以重复使用后 

可以利用这个漏洞    把数据包 发送到Intruder 进行暴力破解 

线程

 

得到结果

 

 验证码绕过(on client)在客户端

查看页面源码   看生成验证码部分代码,

输入的验证码是通过前端的js进行验证,很轻松就可以绕过,可以说形同虚设:

输入数据后,抓包

发送到Reperter  

发现不输入验证码 输入错误验证码   代码都没有对验证码进行验证

 这就是在前端检测验证码,可以轻松绕过,然后发送到Intruder模块进行破解。

token防爆破?   答案是不能得

 

 

查看源代码 我们可以发现  会有一个防爆破的隐藏表单 token值,一段长长的数据。

意思就是 你再前端打开页面 后端收到请求之后 就会生成一个token值

每次刷新 都会有一个新的token值 并且不一样

然后再查看后端的php页面的代码

我们发现代码首先对token值进行验证  再验证用户名和密码

如果token值验证不通关  是不会再验证用户名和密码的

查看生成token值得函数

将包发送至intruder     ctrl+i 或者右键  破解类型选择pitchfork  设置password和token是变量

在options中的grep-extract中打勾点击add添加过滤条件 点击refetch response找到响应包中的token 选中复制token值点击确定

706255e426ebd2c402719310710

 

 将最下方的redirections选择为always

 

  设置payload  set为1

 set为2 type为recursive grep时 复制刚才的token值到first request

 

点击start attack进行破解时遇到了报错

 

  需要在options中将线程设置为1

 

  重新爆破 爆破完成后可以看到相应包长度不同的包中有一个登录成功

显示登录成功

 

然后再选中用户名和token值 重复上述步骤 进行破解

 结果 admin --123456   登录成功

也可以使用  用户名  密码 token值  一起破解

原文地址:https://www.cnblogs.com/xingyuner/p/12295877.html