Pikachu平台练习

1.暴力破解

Burte Force(暴力破解)概述

“暴力破解”是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。为了提高效率,暴力破解一般会使用带有字典的工具来进行自动化操作。

理论上来说,大多数系统都是可以被暴力破解的,只要攻击者有足够强大的计算能力和时间,所以断定一个系统是否存在暴力破解漏洞,其条件也不是绝对的。我们说一个web应用系统存在暴力破解漏洞,一般是指该web应用系统没有采用或者采用了比较弱的认证安全策略,导致其被暴力破解的“可能性”变的比较高。这里的认证安全策略, 包括:

1.是否要求用户设置复杂的密码; 2.是否每次认证都使用安全的验证码(想想你买火车票时输的验证码~)或者手机otp; 3.是否对尝试登录的行为进行判断和限制(如:连续5次错误登录,进行账号锁定或IP地址锁定等); 4.是否采用了双因素认证; ...等等。 千万不要小看暴力破解漏洞,往往这种简单粗暴的攻击方式带来的效果是超出预期的!

image-20211211144152497

用已知的库去登录其他网站,撞库的行为。

image-20211211144401624

image-20211211144509449

尝试连续登录失败,进行登录限制。

image-20211211144532403

image-20211211144548642

image-20211211144628280

设置工控措施。

准备一个字典,一个自动化的工具进行测试

准备一个好用的字典,在特定的场景对字典进行优化

image-20211211144732535

image-20211211144742717

实现演示

狙击手 sniper

只能选择一个payload,如果你设置的变量大于等于1,会按照顺序先在第一个变量出运行payload,然后再在第二个变量处运行payload,以此类推。

破城槌 battering ram

只能选择1个payload,在设置的多个变量出会同时使用一个payload

音叉 pitch fork

选择几个变量就需要设置几个payload,所有的payload在运行时是以一一对应的关系

集束炸弹 clusterbomb

有几个变量就需要设置几个payload,所有的payload会进行排列组合,会将所有的组合可能进行实现

基于表单的暴力破解

使用音叉进行intruder

image-20211211155958203

成功后在response页面会有登录成功的显示,而且在长度处猜解成功返回的数据包和其他数据包的长度是不一样的。

image-20211211155630477

验证码绕过(on client)

image-20211211160545864

image-20211211160553246

一般一个验证码会设置超时间 ,一般一个验证码只能使用1次。

image-20211211160717294

通过查看网页源代码可以查看到验证码是在前端进行的验证。在前端进行验证一般来说是不可靠的。

<script language="javascript" type="text/javascript">
    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();
</script>

不安全的验证码的方式

image-20211211163522263

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值