• pikachu——一、暴力破解模块通关教程


    一、靶场介绍

    靶场搭建: https://blog.csdn.net/weixin_63172698/article/details/131498908?spm=1001.2014.3001.5502
    工具burp使用安装: https://blog.csdn.net/weixin_63172698/article/details/132146370?spm=1001.2014.3001.5502
    在这里插入图片描述
    同时,我们来说明下今天讲解暴力破解漏洞。
    在这里插入图片描述

    二、Burte Force(暴力破解)概述

    “暴力破解”是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。 其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。 为了提高效率,暴力破解一般会使用带有字典的工具来进行自动化操作。
    理论上来说,大多数系统都是可以被暴力破解的,只要攻击者有足够强大的计算能力和时间,所以断定一个系统是否存在暴力破解漏洞,其条件也不是绝对的。 我们说一个web应用系统存在暴力破解漏洞,一般是指该web应用系统没有采用或者采用了比较弱的认证安全策略,导致其被暴力破解的“可能性”变的比较高。 这里的认证安全策略, 包括:
    1.是否要求用户设置复杂的密码;
    2.是否每次认证都使用安全的验证码(想想你买火车票时输的验证码~)或者手机otp;
    3.是否对尝试登录的行为进行判断和限制(如:连续5次错误登录,进行账号锁定或IP地址锁定等);
    4.是否采用了双因素认证;
    …等等。
    千万不要小看暴力破解漏洞,往往这种简单粗暴的攻击方式带来的效果是超出预期的!

    三、基于表单的暴力破解

    在这里插入图片描述
    测试工具:burpsuite
    详细内容见:https://blog.csdn.net/weixin_63172698/article/details/132601765?spm=1001.2014.3001.5502
    首先我们进行尝试性登陆:这里账号可以点击提示一下进行查看:
    在这里插入图片描述
    这里进行输入错误密码进行尝试:
    在这里插入图片描述
    可以看到显示账号或者密码不存在。
    紧接着我们可以使用burp以及对应浏览器进行抓包测试:
    在这里插入图片描述
    这里浏览器使用的代理已经配置完毕,这里必须使用burp进行代理:
    在这里插入图片描述
    代理配置完毕之后我们可以访问pikachu靶场之后,登陆用户名以及错误密码进行抓包:
    提前将拦截打开:
    在这里插入图片描述
    可以看到这里已经抓取到了数据包,紧接着我们发送到intruder模块中进行测试:
    在这里插入图片描述
    其实这里我们直接进行放通之后可以看到这里是登陆失败的:
    在这里插入图片描述
    然后我们在intruder模块中进行查看:
    在这里插入图片描述
    首先我们进行清除所有变量:
    在这里插入图片描述
    紧接着我们选中密码为变量进行暴力破解:
    这里由于我们知道账号,所以就不用将账号也列为变量进行破解,一般情况下都是知道账号之后进行破解,当然我们也可以添加账号为变量在字典中需包含账号进行破解。
    在这里插入图片描述
    在这里插入图片描述
    在Payloads中配置字典,这里可以手动输入添加,也可以在系统中添加已经写好的字典。
    在这里插入图片描述
    点击导入:
    在这里插入图片描述
    添加之前准备好的字典:
    在这里插入图片描述
    在这里插入图片描述
    直接点击开始攻击即可:
    在这里插入图片描述
    这里我们直接看长度进行分析测试即可:
    在这里插入图片描述
    可以看到密码为123456。
    此时关闭拦截进行登陆测试即可:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    此时可以看到登陆成功。

    四、验证码绕过(on client)

    在这里插入图片描述
    在这里插入图片描述
    我们可以登陆进行测试下,这里输入错误密码可以看到账户或者密码不存在。
    在这里插入图片描述
    而这里:我们首先看下网页源代码:
    在这里插入图片描述
    查看源码,我们可以发现验证码是JavaScript随机生成,点击一次函数运行一次生成一个相应的验证码,也就是验证码是假的,用来唬人的。我们也可以将抓到的包转发到repeater进行测试,对验证码进行判定,来看下后台是否进行校验。
    在这里插入图片描述
    这里我们可以看到并未对验证码进行校验,所以我们可以直接将PHPSESSID删掉或者是选用Cluster bomb模式修改变量。
    在这里插入图片描述
    这里我们删除之后直接进行攻击,可以根据长度判断出密码为123456。
    在这里插入图片描述
    接下来我们就可以进行测试,关闭burp的拦截:
    在这里插入图片描述即可登陆成功。
    在这里插入图片描述

    五、验证码绕过(on server)

    在这里插入图片描述
    首先我们进行登陆测试,输入账号以及错误密码进行尝试登陆并抓包:
    发送到repeater模块进行测试:
    第一步:直接发送可以看到,账号或者密码不存在
    在这里插入图片描述
    第二步:删除验证码,看是否进行验证码校验,可以看到显示验证码不能为空,说明进行验证码校验。
    在这里插入图片描述
    第三步:输入错误验证码进行测试:
    在这里插入图片描述
    此时,我们已经了解到要进行验证码校验比对,但是,我们还需要对验证码是否在后台过期进行进一步验证。所以,我们这里刷新验证码,之前记得关闭burp的拦截。
    在这里插入图片描述
    这里我们直接在repeater模块上更换掉,可以看出验证码可以重复使用。
    在这里插入图片描述
    那么我们就可以直接发送到intruder模块进行穷举清空变量并设置密码为变量,导入字典直接进行攻击即可。
    在这里插入图片描述
    根据长度即可看到密码为123456.
    下一步就是关闭burp拦截进行尝试登陆:
    在这里插入图片描述
    即可登陆成功。

    六、token防爆破?

    有的网站后台存在 token 值,这个 token 通俗的名字叫令牌,每次刷新页面都会随机变化。提交请求时必须携带这个 token 值,可以利用这点避免后台进行直接穷举和防止 csrf 攻击。
    此实验可参考https://blog.csdn.net/weixin_63172698/article/details/132601765?spm=1001.2014.3001.5502有 token 防御的网站后台穷举破解密码
    这里我们在之后CSRF漏洞章节进行讲解。
    本篇就是暴力破解章节的内容,下面列举下暴力破解常见的防范措施有哪些?

    • 1.强密码策略:使用复杂、难以猜测的密码可以有效防止暴力破解攻击。密码应包含大小写字母、数字和特殊字符,并建议使用长密码。
    • 2.密码锁定策略:设置账户登录失败次数限制,并在达到限制后锁定账户一段时间,以防止攻击者使用暴力破解方法进行尝试。
    • 3.双因素认证(2FA):引入双因素认证可以增加账户的安全性。在密码验证的基础上,额外要求提供第二个因素(如手机验证码、指纹等)来验证用户身份。
    • 4.登录延迟:在每次登录尝试之后,增加一些延迟时间,逐渐增加失败尝试的成本,以减缓暴力破解攻击的速度。
    • 5.IP封锁:检测到多次失败的登录尝试来自特定IP地址时,可以将该IP地址列入黑名单或暂时封锁,以遏制暴力破解攻击。
    • 6.实施账户锁定策略:在一段时间内,如果有连续多次失败的登录尝试,可以锁定相应的账户,直到管理员逐一解锁。
    • 7.使用账户名单:维护一个经过验证的账户名单,只允许这些账户进行访问,而不是允许任何账户都尝试登录。
    • 8.监控登录活动:实时监控登录活动,检测异常行为,例如来自不同地理位置的异常登录尝试等,并及时采取相应的措施。
    • 9.更新和维护:定期更新操作系统、应用程序和安全补丁,以修复已知安全漏洞,并维护系统的安全性。
  • 相关阅读:
    RISC-V 指令格式和6种基本整数指令
    Win10+Python3.9+GPU版pytorch环境搭建最简流程
    SpringCloud Alibaba 简介
    转扩!寻找G2022次列车“旅客”
    基于Springboot社区疫情防控系统设计与实现 毕业设计开题报告
    【学习笔记】多模态综述
    AtCoder Beginner Contest 260 A~F 题解
    【Nginx】nginx | 微信小程序验证域名配置
    TCP协议之《内存空间管理》
    【html5期末大作业】基于HTML+CSS+JavaScript管理系统页面模板
  • 原文地址:https://blog.csdn.net/weixin_63172698/article/details/132733121