Pikachu漏洞练习平台之暴力破解(基于burpsuite)

news2024/11/30 2:31:09

从来没有哪个时代的黑客像今天一样热衷于猜解密码 ---奥斯特洛夫斯基

Burte Force(暴力破解)概述

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

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

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

首先看第一关,题目是一个登录界面

看到这种第一想法是尝试弱口令(但是为了把流程走一遍,我们假装什么都不知道)

随便乱输,提示用户或者密码不存在

我们使用burpsuite进行抓包

关于burpsuite的简单用法可以参考我之前的博客:

easyupload及BurpSuite抓包、改包、放包

http://t.csdnimg.cn/H9RCs

Burp Suite的使用(常用模块)

http://t.csdnimg.cn/nqkBG

(链接可能会过期,可以直接搜索博客名字)

先开启burpsuite的拦截,随便输入用户名和密码,点击login

查看burpsuite,已经抓到请求包

发送到攻击模块

首先需要清除掉参数位置

在我们需要爆破的参数位置进行添加(用户名和密码我们都不知道都需要爆破)

简单说一下攻击类型的选择

默认是sniper,这个用于单个参数的爆破

由于我们这里是两个参数,因此使用clusterbomb

这个类型可以理解为将两个参数的各种可能情况都两两组合进行爆破

 一般我们是导入密码字典

但是字典内容太多,这里仅做演示,因此我自己随便添加了几个用户名和密码

(注意:这里需要设置两个参数分别使用的字典)

之后开始攻击

对于结果的筛选我们一般看长度,长度不同的一般是爆破成功了的(至少回显不一样)

可以看到34997成功爆出用户名为admin,密码为123456

这就是使用bp进行最简单的暴力破解的大致流程

我们可以在前端输入用户名和密码进行验证,确实登录成功

 

我们继续看第二关,这里多出了一个验证码

经过测试,验证码输入错误是不行的 

没有输验证码也是不行的

当然,这些其实都只是前端的一个检查,我们同样可以在输入正确验证码之后进行爆破

为什么我知道它只是前端的一个检验呢,重点来了

我们先随便抓一个包然后使用重发器测试(注意看我标注的三个地方

可以看到,我的验证码提交的验证码一直都是 j2zppk

这仅仅是满足了前端页面显示的验证码

当我继续重复提交请求时,前端显示的验证码其实是变了的(显示内容确实会刷新)

但是通过回显观察,有提示我验证码错误吗?并没有,而是回显的密码不存在。

这其实就是一个漏洞,我们可以绕过前端验证进行密码爆破。

假设我们已经知道用户名为admin

同样抓包以及设置爆破的参数和爆破的字典(这里只爆破密码所以使用sniper)

成功爆破出密码为123456

还有一种方法,就算我们每次提交的请求,它的验证码会动态的实际变化

(也就是说并不能前端绕过,我们必须直面它,可以使用工具Codex

先将burpsuite抓到的请求包放进去

找到验证码的位置

也就是这个验证码请求的文件

我们可以先单独测试识别一下,可以看到识别成功

 将验证码地址导入(注意:去掉问号后面的内容)

导入爆破字典、设置爆破位置、标记验证码位置、选择爆破方式

还需要填入验证码错误的特征,这里是:验证码输入错误哦!

填入验证码错误特征后,点击start,执行结果如下:

观察可以看到,每次请求输入的验证码都是不同的

并且我们成功爆破出密码为123456

来到第三关,如果输入错误验证码会出现弹窗,说明这个验证也是写在了前端的js代码里

这里更简单,我们只需要将js禁用掉

即使我们不输入验证码,也可以进行登录,并没有出现验证码相关的提示

使用bp进行抓包

使用重发器测试,可以看到即使我们没有输入验证码,提示的也是密码不存在

基于这点,我们就可以像前面那样使用攻击模块进行密码爆破了,这里就不再过多演示。

接下来我们看最后一关也是最重要的一关:token

抓包后使用重发器测试

可以看到多出了一个参数 token

第一次发送回显密码不存在

后续再次发送,回显 csrf token error

说明什么?

说明每次都会对token进行校验,并且token是变化的、随机的

我们可以再次抓包查看,可以看到token变了

我们首先请求题目页面

查看响应,发现在回显里会出来一个token的值:34671657ed547da9e5305813795

此时我们输入用户名和密码后再次请求

可以看到,出来的token正式我们请求题目页面时回显响应的token值

也就是说我们找到了token的来源

将包发到测试器,设置爆破位置

这里攻击模式我们使用 Pitchfork

这个模式是将每次获取的token与密码一一对应的组合后进行爆破

设置第一个参数密码的字典

设置第二个参数token的字典

选择总是(always)

选择递归搜索,即可以将我们的正则匹配放进去

接下来将线程配置为1(因为递归搜索只支持线程数为1)

开始攻击

可以看到每次请求不同的密码都对应了不同的token

并且成功爆破出密码为123456

至此,关于皮卡丘靶场暴力破解的关卡讲解全部结束

我自认为还是讲得比较详细的了,欢迎大家评论区交流讨论

创作不易,也期待大家的支持与关注!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1318051.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【STM32】STM32学习笔记-EXTI外部中断(11)

00. 目录 文章目录 00. 目录01. 中断系统02. 中断执行流程03. STM32中断04. NVIC基本结构05. NVIC优先级分组06. EXTI简介07. EXTI基本结构08. AFIO复用IO口09. EXTI框图10. 计数器模块11. 旋转编码器简介12. 附录 01. 中断系统 中断:在主程序运行过程中&#xff0…

使用PyQt5连接mysql数据库实现用户管理(增,删,改,查,附代码和完整界面)

一:环境搭建 首先本地需要安装python,PyQt5环境,我是用pip安装的 python -m pip install PyQt5 或者 pip install PyQt5 python -m pip install PyQt5-tools 或者 pip install PyQt5-tools 如果网络不好,还可以使用其他源 pip install PyQt…

C++中的继承(一)

文章目录 前言概念访问限定符基类和派生类的赋值转换继承中的作用域派生类的默认成员函数构造函数 拷贝构造析构函数 继承的其他一些细节 前言 我们之前说过,继承是面向对象的三大特性。 面向对象的三大特性: 封装、继承、多态。 封装在类和对象体现出…

大一python题库刷题训练,大一python填空题题库

大家好,给大家分享一下大一python题库及答案和分析,很多人还不知道这一点。下面详细解释一下。现在让我们来看看! 这篇文章主要介绍了大一python上机题库及答案,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完…

【线性代数】期末速通!

1. 行列式的性质 1.1 求一个行列式的值 特殊地,对角线左下全为0,结果为对角线乘积。行 r 列 c 1.2 性质 某行(列)加上或减去另一行(列)的几倍,行列式不变某行(列)乘 …

智能优化算法应用:基于海洋捕食者算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于海洋捕食者算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于海洋捕食者算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.海洋捕食者算法4.实验参数设定5.算法…

git-lfs基本知识讲解

目录 1. 基本知识2. 安装 1. 基本知识 git-lfs 是 Git Large File Storage 的缩写,是 Git 的一个扩展,用于处理大文件的版本控制。 它允许你有效地管理和存储大型二进制文件,而不会使 Git 仓库变得过大和不稳定。以下是一些与 git-lfs 相关…

mysql原理--InnoDB的表空间

1.概述 通过前边儿的内容大家知道, 表空间 是一个抽象的概念。 对于系统表空间来说,对应着文件系统中一个或多个实际文件;对于每个独立表空间来说,对应着文件系统中一个名为 表名.ibd 的实际文件。可以把表空间想象成被切分为许许…

仿易订货的订货系统源码一般多少钱

易订货是一款面向中小企业的B2B电子商务平台,旨在提供一站式的采购和销售解决方案。不少批发商贸企业在数字化转型的时候会采用订货系统,今天我们谈谈仿易订货的订货系统源码需要多少钱。 这款订货系统是一款SaaS,所以它是不面向市场销售源码…

Java 第9章 房屋出租系统

设计 如图是系统的分层结构,包括了界面层、业务层和数据层。 单独建包:由于在实际开发过程中,可能会出现管理多个界面的情况,所以界面需要单独建包,其他同理。 开发任务:从界面层深入到业务层&#xff0c…

ce从初阶到大牛--函数

1、显示/etc/passwd文件中以bash结尾的行; grep "bash$" /etc/passwd2、找出/etc/passwd文件中的三位或四位数; grep -E \b[0-9]{3,4}\b /etc/passwd3、找出/etc/grub2.cfg文件中,以至少一个空白字符开头,后面又跟了非…

产品定位后选择通过外包团队降低成本:迅腾文化的优势与实践

产品定位后选择通过外包团队降低成本:迅腾文化的优势与实践 在激烈的市场竞争中,产品定位是企业成功的关键。然而,仅凭优秀的产品定位并不足以确保企业的成功,如何在降低成本的同时保持产品质量和市场竞争力也是至关重要的。在这…

计算机网络:DNS域名解析系统

我最近开了几个专栏,诚信互三! > |||《算法专栏》::刷题教程来自网站《代码随想录》。||| > |||《C专栏》::记录我学习C的经历,看完你一定会有收获。||| > |||《Linux专栏》&#xff1…

【TB作品】51单片机,语音出租车计价器

西交大题目 1.语音出租车计价器 一、功能要求: 1.具有可模拟出租车车轮转速传感器的硬件设计,可计量出租车所走的公 里数。 2.显示和语音播报里程、价格和等待红灯或堵车的计时价格: 3.具有等待计时功能 4.具有实时年月日显示和切换功能。 5.操作简单、界面友好。 二、设计建议…

委托线程安全

委托线程安全是指将对共享数据的访问委托给线程安全的类,从而避免在调用方代码中进行额外的同步控制。这可以通过将线程安全性限定在一个类内部来实现。以下是一个简单的例子: 假设有一个计数器类 Counter,它不是线程安全的。 public class…

数据手册Datasheet解读-MOS管笔记

数据手册Datasheet解读-MOS管笔记 NMOS应用场景一般特征第一个参数Vdss第二、三个参数Rds(on)、IdMOS管的散热绝对最大额定值第一个参数-Vd第二个参数-Vdgr第三个参数-Vg(栅源电压)第四个参数-Id第五个参数-Idm第六个参数-Ptot第七个参数-Viso第七和八的…

【合成数字】合成类游戏-uniapp项目开发流程详解

以前玩过2048游戏,从中发现规律,想到跟合成类游戏相似,知道为什么很相似吗,在这里,做一个数字合成游戏玩玩吧,感兴趣的话可以看看,这里给大家讲一讲数字合成游戏的开发过程。 文章目录 创建项目…

四. 基于环视Camera的BEV感知算法-BEVDet

目录 前言0. 简述1. 算法动机&开创性思路2. 主体结构3. 损失函数4. 性能对比总结下载链接参考 前言 自动驾驶之心推出的《国内首个BVE感知全栈系列学习教程》,链接。记录下个人学习笔记,仅供自己参考 本次课程我们来学习下课程第四章——基于环视Cam…

【Java】智慧工地系统:让建筑行业管理更简单

概述 智慧工地管理平台面向房建、能源、交通各类工地的管理者,通过AI视频、物联感知技术对工地场景中的施工机械、建筑材料、施工规范、施工环境监管、完善施工现场项目管控。实现项目管控、特种设备管理、绿色施工、工地巡检等业务功能,沉淀工地监管数…

6.鸿蒙app_hap_DevEco如何真机调试模式_app安装在手机中

真机调试 手机》设置》关于手机》HarmonyOS版本》软件版本,连续单击10次启动开发者模式 然后:设置》系统和更新》开发人员选项》打开USB调试功能。 电脑USB连接手机,手机USB连接类型,传文件(不要选择仅充电&#xf…