暴力破解-基于Pikachu的学习

暴力破解

前置burp的知识(Intruder爆破的四种模式)

1. Sniper(狙击手模式)

它使用一组Payload集合,依次爆破被§标志的爆破点

如果爆破点设置一个,payload设置10个,就执行10次;如果爆破点设置两个,则执行20次。

一般这个模式下只设置一个爆破点,因为如果用户名和密码都不知道的情况下不会使用该模式去爆破。通常用于在知道用户名后,对密码进行爆破。

2. Battering ram(破城槌模式)

它使用一组Payload集合,同时爆破被§标志的爆破点

无论爆破点设置几个,payload设置10个,就执行10次。

3. Pitchfork(音叉模式)

同时爆破被§标志的爆破点,爆破点1指定payload1,爆破点2指定payload2

无论爆破点设置几个,payload1设置10个,payload2设置10个,就执行10次。

并且一般按照payload少的执行,如payload1设置10个,payload2设置9个,就执行9次。

4. Cluster bomb(集束炸弹)

同时爆破被§标志的爆破点,爆破点1指定payload1,爆破点2指定payload2,依次使用payload1与payload2的组合进行爆破

payload1设置10个,payload2设置9个,就执行10*10=90次。

基于表单的爆破(没有验证)

直接丢入burp进行暴力破解

有验证码的爆破(验证码绕过)

实验原理

验证码用来防止登录暴力破解、防止机器恶意注册。具体是利用验证码影响如Burp Suite这类软件进行攻击。

验证码在后台不过期,导致可以长期被使用;

验证码校验不严格,逻辑出现问题;

验证码设计的太过简单和有规律,容易被猜解

Server端产生验证码

例:Pikachu(验证码绕过(on server))

输入用户名和账号密码,看回显(正确的验证码

输入空的验证码以及错误的验证码尝试

然后重新输入当时正确的那个验证码,后来发现这个验证码长期有效,有效时间很长,可以爆破。

然后Burpsuite跑一下,暴力破解成功。

Client端产生验证码

例:Pikachu(验证码绕过(on client))

输入用户名和密码以及正确的验证码,抓包查看回显,发现了一串验证码的jjs代码

var code; //在全局 定义验证码
function createCode() {
    code = "";
    var codeLength = 5;//验证码的长度
    var checkCode = document.getElementById("checkCode");
    var selectChar = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9,'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');//所有候选组成验证码的字符,当然也可以用中文的

    for (var i = 0; i < codeLength; i++) {
        var charIndex = Math.floor(Math.random() * 36);
        code += selectChar[charIndex];
    }
    //alert(code);
    if (checkCode) {
        checkCode.className = "code";
        checkCode.value = code;
    }
}

function validate() {
    var inputCode = document.querySelector('#bf_client .vcode').value;
    if (inputCode.length <= 0) {
        alert("请输入验证码!");
        return false;
    } else if (inputCode != code) {
        alert("验证码输入错误!");
        createCode();//刷新验证码
        return false;
    }
    else {
        return true;
    }
}
createCode();

然后浏览器禁用Js代码,便可暴力破解。

添加token防止爆破

输入账号密码然后burp抓包:

有两次发包可知:token值是一直在变化的,但是从客户端的相应包来看,验证码是由客户端生成的,这时候就需要用到burp的音叉模式去爆破。

设置为音叉模式爆破:

接下来添加token值的爆破,要将相应包里的token值作为发送包的值,采用递归搜索,然后设置,添加规则。

重定向设置

重定向设置成:always总是 ,用于动态获取token,下次请求的参数值,并且设置线程数为1


然后开始爆破,就成功得到密码了

热门相关:极品医圣   甜蜜婚令:首长的影后娇妻   神医娘亲:腹黑萌宝赖上门   恶魔总裁霸道宠:老婆,甜似火   我有无数神剑