zoukankan      html  css  js  c++  java
  • 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值  一起破解

  • 相关阅读:
    SSIS 小脚本 文件路径验证
    SSIS 小脚本 时间参数验证
    索引 唯一索引设计指南
    容易遗忘的一些小代码之 ROW_NUMBER 和去重
    MSDNMDX#001 多维表达式 (MDX) 参考
    数据库引擎 页和区体系结构页和区
    数据库引擎 文件和文件组体系结构
    索引 索引键的最大大小
    索引 在文件组上放置索引
    索引 常规索引设计指南
  • 原文地址:https://www.cnblogs.com/xingyuner/p/12295877.html
Copyright © 2011-2022 走看看