暴力破解探析

 

简介

暴力破解也被称为枚举测试、穷举法测试,是一种针对密码破译的
方法,即:将密码逐个比较,直到找出真正的密码为止。(弱口令扫描
也属于此类范畴)

测试环境:

pikachu、DVWA

工具:

burpsuit

总体步骤:

第一步:burp抓取数据请求包
第二布:burp批量发送爆破

pikachu演示

1.基于表单爆破

在这里插入图片描述
首先任意填写账号密码进行抓包,然后发送给攻击器Intrude进行攻击模式选择及爆破位置变量设置
在这里插入图片描述
之后分别设置两个变量的payload字典,点击“Start attack”。
在这里插入图片描述
对比爆破的服务器响应包的Length长度,可以准确找出所需的账号密码。

2.基于客户端的验证码爆破

在这里插入图片描述
可以看出,验证码是基于客户端验证的,我们可以进行如下测验:

2.1 修改前端代码取消验证码验证
右键查看源代码,找到createCode()函数部分,
在这里插入图片描述
刷新页面可以看到已经不会对验证码进行校验
在这里插入图片描述
2.2 利用正确验证码爆破
此方法和基于表单的爆破一样,在填写正确验证码的情况下进行对账号密码的爆破。
2.3 复写validate函数
在源码中存在validate()校验,可以进行true重载

validate=()=>ture;
 
  • 1

在控制台执行之后,在登录页面无关于验证码的校验报错
在这里插入图片描述
之后即可对zhang’haozhanghao密码进行burp爆破,同上。

3.基于服务端验证码的爆破

分析:
基于服务端的验证码请求是随数据请求每次都刷新的,如下图所示:
注:Fiter规则勾选image即可看到验证码的更新请求
在这里插入图片描述
然而通过验证码的drop丢弃可以看到其验证码存在时效性问题,既可以通过上一数据请求的验证码进行下一次的登录请求,如下图:
在这里插入图片描述
操作:
利用其验证码时效缺陷,抓包对其验证码drop,找到对应登录请求包发送到攻击器对账号密码进行变量爆破
在这里插入图片描述
攻击分析和表单爆破方法一致。

4.基于token爆破

分析:
通过对数据包token的分析,可以知道token在发送当前数据包的上一个数据包里。因此需要至少两个包才能完成一次对token的爆破。
首先,刷新页面请求,可以看到起响应包里存在token值
在这里插入图片描述
接下来登录请求中可以看到其token的沿用
在这里插入图片描述那么就需要设置一个宏操作来实现数据请求前这个token的获取,实现后续的爆破
操作:
1.打开菜单栏projec options——Session,对Macros进行宏定义,
在这里插入图片描述
给第一个包添加宏
在这里插入图片描述
2.接下来设置运行规则
在这里插入图片描述
添加具体动作参数“token”
在这里插入图片描述
添加爆破攻击的页面
在这里插入图片描述
3.爆破登录请求包
将第二个请求包发送给攻击器,设置用户名和密码为变量,设置攻击线程数为1。
在这里插入图片描述
注:线程数设为1是为了保持在请求中的响应顺序一致,保证token的时序。
点击攻击,即可爆破出用户名和密码
在这里插入图片描述

DVWA演示

对dvwa主页爆破

此页面也是基于token的验证

1.宏定义与规则配置

首先抓取主页的加载包
在这里插入图片描述
其次抓取一个尝试登录的数据包
在这里插入图片描述
其token进行了沿用,接下来进行一个宏定义
在这里插入图片描述
添加规则
在这里插入图片描述
添加规则内需要更新的参数"token"
在这里插入图片描述
设置爆破的url路径
在这里插入图片描述

2.实施攻击

将提交的登录包发送给攻击器,配置爆破的变量
在这里插入图片描述
挂载字典并设置线程数1
在这里插入图片描述
在这里插入图片描述
因为login.php和index.php爆破响应的字段可能会一致,我们不好利用它的字段长度去快速找出相应的用户名密码,所以需要进行重定向的跟踪。
在这里插入图片描述
接下来直接进行爆破攻击,得出用户名【admin】、密码【password】

posted @ 2023-06-12 21:43  歪曌  阅读(119)  评论(0编辑  收藏  举报