【网络安全】DVWA靶场实战&BurpSuite内网渗透

BurpSuite 内网渗透

  • 一、 攻击模式介绍
    • 1.1 Sniper(狙击手)
    • 1.2 Battering ram(攻城锤)
    • 1.3 Pitchfork(草叉)
    • 1.4 Cluster bomb(榴霰弹)
  • 二、 DVWA靶场搭建
    • 2.1 下载DVWA工程
    • 2.2 添加网站
    • 2.3 初始化数据库
    • 2.4 登录
    • 2.5设置安全级别
  • 三、内网渗透
    • 3.1 靶场环境开启
    • 3.2 拦截打开
    • 3.3 拦截包发送Intruder模块
    • 3.4 选择攻击字段
    • 3.5 选择攻击模式
    • 3.6 设置payload
    • 3.7 其他设置
    • 3.8 发起攻击
    • 3.9 查看结果
  • 四、 标记结果(补充说明)
  • 五、获取CSRF Token
    • 5.1 切换安全级别
    • 5.2 拦截打开
    • 5.3 Pitchfork攻击
    • 5.4 攻击字段设置
    • 5.5 单线程设置
    • 5.6 开始攻击
  • 六、 绕过验证码
    • 6.1 开启代理拦截
    • 6.2 发送Intruder模块
    • 6.3 篡改响应结果
    • 6.4 放行数据包
    • 6.5 成功跳过验证码


我们先来认识一下BurpSuite中有哪些攻击模式,然后开始实战操作

一、 攻击模式介绍

1.1 Sniper(狙击手)

下面攻击案例即将使用,对单个参数进行攻击破解

联想战争中狙击手的作用,一次只能击杀一名敌人

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第1张图片

1.2 Battering ram(攻城锤)

联想古代的攻城锤,特点就是攻击范围比狙击手大,但是效率不一定高

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第2张图片

可以设置多个攻击字段,但是payload值只有一个

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第3张图片

攻击的值只有一个

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第4张图片

在这种情况下发起攻击,用户名和密码的值将是一样的,不适合密码获取

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第5张图片

它会把一个值给到所有攻击字段
适合在多个字段中找合适值

1.3 Pitchfork(草叉)

联想农民伯伯耕地使用的草叉,如果地上有六个洞,但叉子只有四个分支,那么它最多只能插入四个洞中

对于攻击也是一样的,无法做到对所有可能性进行穷举验证,容易遗漏正确数据

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第6张图片

允许设置很多payload来源

它的字段,默认按先后顺序排列

我们给第一个字段(用户名),添加5个内容

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第7张图片

同样给第二个字段,添加6个密码

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第8张图片

然后发起攻击,会看到,它只跑了5次,取两个数中最少的那个

从多个字典提取值,赋给多个字段,按顺序一一对应
例如:
100个用户名
50个密码
最终请求次数:50次

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第9张图片

会出现一种情况,字典中有正确的用户名和密码,但是没有匹配成功,说明还不够全面,我们使用榴霰弹,交叉验证

1.4 Cluster bomb(榴霰弹)

联想二战中的榴霰弹,攻击范围大,攻击个体多,还可以做到彻底摧毁某一片土地,缺点就是造价昂贵

对于攻击也是一样的,它可以通过枚举,将所有的可能性都试一次,做到无疏漏,但问题就是使用它来破解参数,花费的时间占用的资源较多

同样,我们使用上次5个用户名和6个密码测试

结果发现,请求次数是30次

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第10张图片

所有字典全部交叉验证

我们开始攻击,在30次匹配中有一组是正确的

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第11张图片

二、 DVWA靶场搭建

DVWA是一款开源的练习web漏洞的靶场工具,用PHP代码编写而成。
需要PHP和Apache环境运行。

在下载好小皮基础上,我们需要下载DVWA靶场环境和一个文本编辑工具,Sublime

DVWA靶场网盘下载
提取码:tkwm

文本编辑Sublime下载
提取码:bwhe

2.1 下载DVWA工程

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第12张图片

把解压后的代码放在PHPStudy的WWW路径下(根目录)。

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第13张图片

位置如下

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第14张图片

2.2 添加网站

打开phpstudy,添加网站。

这一步除了填写域名,其他的都不用改。

域名跟上一步的文件夹名字一致,会自动填充根目录。
(这里写成小写dvwa)

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第15张图片

部署成功稍等几秒,Apache会自动重启

2.3 初始化数据库

修改配置文件:

WWW\DVWA\config\config.inc.php

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第16张图片

修改IP、库名(默认dvwa不用改)、用户名、密码、端口

这里将user设置为root

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第17张图片

数据库密码在小皮数据库选项中查看

在这里插入图片描述

打开首页

http://localhost/dvwa

选择Setup

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第18张图片

点击最下方的 Create /Reset Database初始化数据库

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第19张图片

提示报错,我们需要修改配置文件

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第20张图片

首先要确定自己的PHP版本

在小皮中查看

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第21张图片

找到PHP配置文件

phpstudy_pro\Extensions\php\php7.3.4nts\php.ini

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第22张图片

把以下两个值都改为ON

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第23张图片

2.4 登录

初始化后可以登录首页

http://localhost/dvwa

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第24张图片

登录成功

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第25张图片

2.5设置安全级别

靶场设置不同安全级别可以对渗透测试人员练习提供更多的经验

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第26张图片

三、内网渗透

3.1 靶场环境开启

首先开启小皮,启动Apache和MYSQL

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第27张图片

打开BurpSuite内置浏览器

为什么不用自带浏览器呢,自带浏览器请求和响应的数据太多太杂,有些广告,视频等等都会被抓包抓到,不利于初学者学习攻击原理

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第28张图片

输入网址,进入靶场

localhost/dvwa/

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第29张图片

登录进去后,我们修改安全级别为最低级

测试网站在没有附加防御措施下的安全性

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第30张图片

3.2 拦截打开

首先,我们打开拦截,然后在网站中随便输入,提交用户名和密码

这里我们已经知道用户名是admin,密码是password,我们想要做的是在反馈中看到密码,故先测试获取密码。

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第31张图片

可以看到BP已经抓到了包

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第32张图片

3.3 拦截包发送Intruder模块

然后我们把包发送到intruder模块

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第33张图片

会看到intruder模块已经接收到包

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第34张图片

我们看到,BurpSuite默认将这些字段打上分解符,BurpSuite默认你即将测试这些字段

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第35张图片

但我们实际测试的只有密码值,所以点击清空

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第36张图片

3.4 选择攻击字段

我们选中密码的值,点击ADD,添加分解符

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第37张图片

3.5 选择攻击模式

攻击模式有四种,分别是Sniper、Battering ram、Pitchfork、Cluster bomb

选择攻击模式。这里选择Sniper,因为我们只要密码,是针对单个参数攻击

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第38张图片

3.6 设置payload

进入Payloads(攻击载荷)模块,我们先使用Simple list,简单列表

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第39张图片

爆破字典设置

在这里插入图片描述

3.7 其他设置

还可以对攻击字段做进一步设置

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第40张图片

设置线程值为10

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第41张图片

3.8 发起攻击

点击start

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第42张图片

开始攻击

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第43张图片

3.9 查看结果

单击密码,可以看到它返回的响应

这里1111显示密码不匹配,故不是正确密码

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第44张图片

但每个都点开查看不现实,所以我们要对响应内容的长度进行排序

会发现有一个值的长度和其他不一样,在值爆破中,正确值和错误值的长度是不同的,可以利用这一点进行快速判断

最终确认正确密码是password
【网络安全】DVWA靶场实战&BurpSuite内网渗透_第45张图片

四、 标记结果(补充说明)

为了更快找到正确的值,我们想对正确的结果进行标记

即这段匹配成功响应

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第46张图片

我们进入Intruder模块下的Options,找到Grep-Match

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第47张图片

再次发起攻击,会在正确值位置出现标记

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第48张图片

五、获取CSRF Token

5.1 切换安全级别

先把代理拦截关闭,将拦截级别切换到HIgh

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第49张图片

其中涉及到CSRF token,它是什么意思呢

类似于古代的令牌,没有它,不能进入网站,但它和正常的令牌区别就在于,每次的令牌都不一样

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第50张图片

用户每一次访问,都需要一个新的Token
	一次使用,用完销毁
这一次浏览器响应给你,下一次你需要带上它上次给的token来访问才能进入网站
轮流依次访问

5.2 拦截打开

我们现在打开拦截

随便输入一个密码,会发现已经拦截到,并且安全级别是high

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第51张图片

同样,发送到intruder模块

5.3 Pitchfork攻击

我们只能使用pitchfork攻击模式,然后将两个字段标识处理

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第52张图片

5.4 攻击字段设置

进入payloads模块

先给密码一个字段

00000
1223
1232312
password
ashkkjd

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第53张图片

在第二个字段,token值,我们使用载荷类型Recrusvive grep

它可以用来提取相应数据的比如拿到PHPSESSIONID,拿到TOKEN 等等,可以通过格式匹配抓取到对应的字段值。

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第54张图片

它的规则需要在Option中设置,找到Grep-Extract,点击ADD添加,单击Refetch response生成一个相应,在响应中找到token,双击内容,会自动生成一套匹配规则

规则内容:

语句中前面是 value=' ,后面是' />\r\n		
则中间一定是token

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第55张图片

选中之后复制token值

9dff1b7aaa0dca5d78eb501602b2c34a

回到payload,我们发现已经将规则添加进去了

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第56张图片

注意:
使用该模式,只能使用单线程
为了避免上一个请求还没有回来,下一个又发出去

5.5 单线程设置

打开Resource Pool,选择单线程

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第57张图片

5.6 开始攻击

然后发起攻击,结果显示爆破成功

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第58张图片

六、 绕过验证码

举例

对于这样一个网站的验证码,我们想要绕过它,通过不关注公众号就能查看网站里的内容

https://www.lxlinux.net/7001.html

6.1 开启代理拦截

首先打开浏览器BP代理

在这里插入图片描述

打开拦截,在验证码处输入666666,回车,会看到BP已经拦截到验证码

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第59张图片

6.2 发送Intruder模块

现在我们把它发送到Intruder模块

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第60张图片

我们现在要做一个固定长度是6位的验证码

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第61张图片

这里如果用生成字典的方法,可以生成从000001到999999一共一百万个密码,但是花费时间太久

6.3 篡改响应结果

所有我们试一下篡改响应结果

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第62张图片

然后点击Forward放行,会看到一个服务器响应信息

{"msg":"校验码已失效,请重新获取!","resultCode":null,"success":false,"value":"666666","values":{}}

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第63张图片

我们将success值改为ture

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第64张图片

6.4 放行数据包

继续点击Foreword

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第65张图片

6.5 成功跳过验证码

然后来看一下浏览器中网页是否已经跳过验证码

【网络安全】DVWA靶场实战&BurpSuite内网渗透_第66张图片

成功在不输入验证码的前提下,进入网站

这里只给大家举个例子,虽然拿验证码并不难,但通过一个简单的例子,我们可以学到渗透的思路(感兴趣可以自己试试,真实有效)

你可能感兴趣的:(网安,web安全,安全,网络)