暴力破解(Burte Force)
以弱口令的探测与测试为例
- 弱口令
- 暴力破解
- 暴力破解弱口令
- 基于表单的暴力破解
- 四种攻击类型
- 验证码绕过(on server)
- 验证码绕过(on client)
弱口令
弱口令(weak password) 没有严格和准确的定义,通常认为容易被别人(他们有可能对你很了解)猜测到或被破解工具破解的口令均为弱口令。弱口令指的是仅包含简单数字和字母的口令,例如"123"、"abc"等,因为这样的口令很容易被别人破解,从而使用户的计算机面临风险,因此不推荐用户使用。
暴力破解
Burte Force(暴力破解)概述
“暴力破解”是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。 其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。 为了提高效率,暴力破解一般会使用带有字典的工具来进行自动化操作。
理论上来说,大多数系统都是可以被暴力破解的,只要攻击者有足够强大的计算能力和时间,所以断定一个系统是否存在暴力破解漏洞,其条件也不是绝对的。 我们说一个web应用系统存在暴力破解漏洞,一般是指该web应用系统没有采用或者采用了比较弱的认证安全策略,导致其被暴力破解的“可能性”变的比较高。 这里的认证安全策略, 包括:
1.是否要求用户设置复杂的密码;
2.是否每次认证都使用安全的验证码(想想你买火车票时输的验证码~)或者手机otp;
3.是否对尝试登录的行为进行判断和限制(如:连续5次错误登录,进行账号锁定或IP地址锁定等);
4.是否采用了双因素认证;
…等等。
千万不要小看暴力破解漏洞,往往这种简单粗暴的攻击方式带来的效果是超出预期的!
暴力破解弱口令
实验环境是pikachu靶场的暴力破解模块
基于表单的暴力破解
先随便输个用户名和密码试试
提示用户名和密码不存在,直接采用暴力破解。
具体方法是:随便输个用户和密码,使用 burpsuite 抓包
可以看到我们输入的用户名和密码。快捷键 ctrl+I 将包发送到 intruder 模块。进入 positions 模块更改攻击类型为 Cluster bomb,并选择要破解的变量 username 和 password (注意选择变量的先后顺序,这关乎到后面对应内容的破解)
四种攻击类型
在上述,我们为什么要把攻击类型改为 Cluster bomb 呢?首先我们要了解 burpsuite 的四种攻击类型
1、狙击手模式(Sniper)
Attack No. | Position A | Position B |
---|---|---|
0 | 1 | null |
1 | 2 | null |
2 | null | 1 |
3 | null | 2 |
添加一个参数,且假设 payload 有两个,那么就会执行两次;
添加两个参数,就会挨个来,第一个参数开始爆破时,第二个不变,如此这样,就会执行四次
我个人理解来看,这是唯一一个多个参数不能同时爆破的攻击类型
2、攻城锤模式(Battering ram)
Attack No. | Position A | Position B |
---|---|---|
0 | 1 | 1 |
1 | 2 | 2 |
与sniper模式不同的地方在于,同样情况下,攻击次数减半,且每次两个位置用相同的密码
3、草叉模式(Pitchfork)
Attack No. | Position A | Position B |
---|---|---|
0 | 1 | 3 |
1 | 2 | 4 |
可以多组密码本payload,又与攻城锤模式相同的地方在于一一对应
4、集束炸弹模式(Cluster bomb)
Attack No. | Position A | Position B |
---|---|---|
0 | 1 | 3 |
1 | 2 | 4 |
2 | 1 | 4 |
3 | 2 | 4 |
跟草叉模式相似的是多个密码本对应多个位置,不同的是不再是一一对应,而是交叉组合(笛卡尔积),每一个密码本里的密码都对应与另一密码本所有密码
所以为什么选择 Cluster bomb 就显而易见了。我们此时并不知道 username 和 password 的情况,所以我们要让两个变量采用最多的组合方式来进行测试。
继续上述爆破操作,再进入 payload 模块,此时前面所说的顺序性就体现出来了,由于我们先选择的变量是username,所以我们先添加猜测的 username 。如图,此处因为我事先知道了存在的三个用户,所以就针对性的添加进去了,除此额外添加了几个其他不存在的用户名。(通常暴力破解需要借助字典,里面包含了各种猜测的用户名或密码等,但是由于我没有这个软件…所以…有字典的情况下,直接选择 load 加载就可以了)
之后添加猜测的 password,步骤跟上面一样
之后可以进入 options 模块选择攻击的线程等(多线程有助于加快破解速度),此处由于我添加的猜测数据很少,可以直接攻击,点击 start attack,得到最终的结果。我们可以根据 status 和 length 两个模块来判断是否成功。此处发现请求1、10、18与别的不同,说明它们仨肯定不简单。
尝试登陆成功
验证码绕过(on server)
看这题登录要输入验证码了
跟上面一样,我们随便输入一个用户名和密码后抓包,并把包发送到 repeater 模块,点击多次 go,发现并没有提示验证码错误的信息,说明验证码可以重复使用。
这一关的验证码是在后台服务端生成后放到前端客户端,如果后台服务端验证码刷新了,则上一次的验证码失效。抓包后,发现有验证码参数,经测试直接放入Intruder模块爆破即可,不要在 Proxy->Intercept 模块放包后刷新页面,因为刷新页面后后台服务端的验证码也会随之刷新,从而使上一次验证码失效,导致爆破不了。
后续操作就跟前一题一样了,改攻击类型和爆破点
输入测试字典后攻击(这边我手贱多输了一个admin)
成功获取用户名和密码
验证码绕过(on client)
跟前面一样,需要验证码
跟前面一样也是尝试乱输多次提交抓到的包,发现跟前面不一样的是前端验证码使用的是前端 js 脚本生成的
如何绕过呢?既然是前端的 js 生成的,那就把 js 禁用了,发现验证码也确实没了
之后抓包,要注意的是,抓包显示的信息仍有显示验证码的信息,我们需要手动删除。这下验证码就彻底阻碍不了爆破了。
操作都跟之前一样
随便点击一个,察看response(之前的这步没截上图),发现 login success
暴力破解(Burte Force)相关推荐
- 【业务安全-03】业务逻辑漏洞之暴力破解(Burte Force)
暴力破解 概述 暴力破解是一种针对于密码或身份认证的破译方法,即穷举尝试各种可能,找到突破身份认证的一种攻击方法. 暴力破解是一把双刃剑,一方面能够被恶意者使用,另一方面在计算机安全性方面却非常重要, ...
- pikachu 暴力破解 Brute Force(皮卡丘漏洞平台通关系列)
目录 一.官方概述 二.小白菜的通关 第一关 基于表单的暴力破解 第二关 验证码绕过(on server) 1.绕过步骤 2.一点思考 第三关 验证码绕过(on client) 1.绕过步骤 2 ...
- piakchu靶场 :一、暴力破解
piakchu靶场 :一.暴力破解 Burte Force(暴力破解)概述 基于表单的暴力破解 token防爆破 token介绍 暴力破解 Burte Force(暴力破解)概述 "暴力破解 ...
- 一、Burte Force(暴力破解)
目录 1.基于表单的暴力破解 2.验证码绕过(on server) 3.验证码绕过(on client) 4.token 防爆破? 1.基于表单的暴力破解 首先,在user ...
- DVWA学习(三)Brute Force(暴力破解)
BF算法,即暴风(Brute Force)算法,是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和 T的第二个字符:若不相 ...
- DVWA--Brute Force(暴力破解)--四个等级
DVWA的Brute Force,也就是我们所熟悉的暴力破解,这里它一共有四个等级 Low.Medium.High.Impossible 这里我们就源码简单探讨一下 Low 源代码: <?php ...
- DVWA 之暴力破解攻击(Brute Force)
暴力破解(Brute Force)的意思是攻击者借助计算机的高速计算不停枚举所有可能的用户名和密码,直到尝试出正确的组合,成功登录系统.理论上,只要字典足够大,破解总是会成功的.阻止暴力破解的最有效方 ...
- 网络安全入门之 Burp Suite 暴力破解 DVWA Brute Force Low
文章目录 1. 背景 2. 准备工作 2.1. 靶场环境 2.2. 安装破解工具 3. 破解过程 3.1. 代理请求 3.2. 拦截请求 3.3. 填装弹药 3.4. 设置岗哨 3.5. 开始攻击 4 ...
- dvwa_Brute Force(暴力破解) _Medium
dvwa_Brute Force(暴力破解) _Medium 首先,进入DVWA Security 改impossible为Medium并提交.返回Brute Force 点击View Source, ...
最新文章
- 大流量高并发量网站的之解决方案
- Akka的字数统计MapReduce
- LeetCode 1022. 从根到叶的二进制数之和(递归)
- LeetCode算法入门- 4Sum -day11
- python入门教程(非常详细)-Python入门教程:超详细1小时学会Python
- 微信公众平台小程序(应用号)开始内测了
- Component 初识组件
- Linux:GCC安装与编译(详细)
- 网络聊天室——低仿QQ
- 指数函数图像怎么画?
- 学习笔记2 光伏MPPT算法
- SQL建表及插入数据
- office2019卸载组件_禁止电脑随意安装和卸载软件,用这个方法就够了
- matlab在solver,matlab的solver
- ps里html在哪,PS中的路径面板的使用教程
- 问答学习系统 - 针式PKM V8.20新增功能
- CAD怎么添加打印机设备?CAD打印机添加步骤
- android 视频裁剪view拖动,android – 视频使用特定坐标裁剪或缩放?
- VMware16虚拟机安装
- 计算机二进制小数加法,二进制是如何将加减乘除变换为加法实现的
热门文章
- Oracle RAC 搭建笔记
- Kubernetes 笔记 05 yaml 配置文件详解
- doc python 字体颜色,Python docx修改文字大小字体类型 Python-docx 实现整体修改或者部分修改文字的大小和字体类型...
- 申通快递:核心业务系统云原生化上云技术详解
- 如何在Word中插入公式
- BurpSuite实战教程02-BurpSuite+夜神模拟器抓包教程
- 使用ggplot2语法画韦恩图:ggvenndiagram
- 发现一个不错的十六进制编辑器-HxD
- 曲阜水利学校计算机96级聚会,今日调剂信息汇总(5月8日更新,含近期发布消息)...
- day15 java关系运算符和逻辑运算符