【网络安全】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(狙击手)

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

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

在这里插入图片描述

1.2 Battering ram(攻城锤)

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

在这里插入图片描述

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

在这里插入图片描述

攻击的值只有一个

在这里插入图片描述

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

在这里插入图片描述

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

1.3 Pitchfork(草叉)

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

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

在这里插入图片描述

允许设置很多payload来源

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

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

在这里插入图片描述

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

在这里插入图片描述

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

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

在这里插入图片描述

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

1.4 Cluster bomb(榴霰弹)

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

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

在这里插入图片描述

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

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

在这里插入图片描述

所有字典全部交叉验证

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

在这里插入图片描述

二、 DVWA靶场搭建

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

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

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

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

2.1 下载DVWA工程

在这里插入图片描述

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

在这里插入图片描述

位置如下

在这里插入图片描述

2.2 添加网站

打开phpstudy,添加网站。

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

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

在这里插入图片描述

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

2.3 初始化数据库

修改配置文件:

WWW\DVWA\config\config.inc.php

在这里插入图片描述

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

这里将user设置为root

在这里插入图片描述

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

在这里插入图片描述

打开首页

http://localhost/dvwa

选择Setup

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

首先要确定自己的PHP版本

在小皮中查看

在这里插入图片描述

找到PHP配置文件

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

在这里插入图片描述

把以下两个值都改为ON

在这里插入图片描述

2.4 登录

初始化后可以登录首页

http://localhost/dvwa

在这里插入图片描述

登录成功

在这里插入图片描述

2.5设置安全级别

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

在这里插入图片描述

三、内网渗透

3.1 靶场环境开启

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

在这里插入图片描述

打开BurpSuite内置浏览器

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

在这里插入图片描述

输入网址,进入靶场

localhost/dvwa/

在这里插入图片描述

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

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

在这里插入图片描述

3.2 拦截打开

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

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

在这里插入图片描述

可以看到BP已经抓到了包

在这里插入图片描述

3.3 拦截包发送Intruder模块

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

3.4 选择攻击字段

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

在这里插入图片描述

3.5 选择攻击模式

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

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

在这里插入图片描述

3.6 设置payload

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

在这里插入图片描述

爆破字典设置

在这里插入图片描述

3.7 其他设置

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

在这里插入图片描述

设置线程值为10

在这里插入图片描述

3.8 发起攻击

点击start

在这里插入图片描述

开始攻击

在这里插入图片描述

3.9 查看结果

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

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

在这里插入图片描述

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

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

最终确认正确密码是password
在这里插入图片描述

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

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

即这段匹配成功响应

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

五、获取CSRF Token

5.1 切换安全级别

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

在这里插入图片描述

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

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

在这里插入图片描述

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

5.2 拦截打开

我们现在打开拦截

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

在这里插入图片描述

同样,发送到intruder模块

5.3 Pitchfork攻击

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

在这里插入图片描述

5.4 攻击字段设置

进入payloads模块

先给密码一个字段

00000
1223
1232312
password
ashkkjd

在这里插入图片描述

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

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

在这里插入图片描述

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

规则内容:

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

在这里插入图片描述

选中之后复制token值

9dff1b7aaa0dca5d78eb501602b2c34a

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

在这里插入图片描述

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

5.5 单线程设置

打开Resource Pool,选择单线程

在这里插入图片描述

5.6 开始攻击

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

在这里插入图片描述

六、 绕过验证码

举例

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

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

6.1 开启代理拦截

首先打开浏览器BP代理

在这里插入图片描述

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

在这里插入图片描述

6.2 发送Intruder模块

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

在这里插入图片描述

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

在这里插入图片描述

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

6.3 篡改响应结果

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

在这里插入图片描述

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

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

在这里插入图片描述

我们将success值改为ture

在这里插入图片描述

6.4 放行数据包

继续点击Foreword

在这里插入图片描述

6.5 成功跳过验证码

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

在这里插入图片描述

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

redis中使用bloomfilter的白名单功能解决缓存预热问题

一 缓存预热 1.1 缓存预热 将需要的数据提前缓存到缓存redis中&#xff0c;可以在服务启动时候&#xff0c;或者在使用前一天完成数据的同步等操作。保证后续能够正常使用。 1.2 解决办法PostConstruct注解初始化

WebRTC Simulcast介绍

原文地址&#x1f447; https://blog.livekit.io/an-introduction-to-webrtc-simulcast-6c5f1f6402eb/ 你想知道的关于Simulcast的一切 Simulcast是WebRTC中最酷的功能之一,它允许WebRTC会议在参与者网络连接不可预测的情况下进行扩展。在这篇文章中,我们将深入探讨Simulcas…

Databend 开源周报第 103 期

Databend 是一款现代云数仓。专为弹性和高效设计&#xff0c;为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务&#xff1a;https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展&#xff0c;遇到更贴近你心意的 Databend 。 创建网络策略 …

Centos7 扩容(LVM 和非 LVM)

一、磁盘扩容方式 CentOS 系统的磁盘扩容可以分为两种方式&#xff1a;LVM 管理和非 LVM 管理。 LVM 管理的分区和传统分区方式是可以共存的。在同一个系统中&#xff0c;你可以同时使用 LVM 管理的分区和传统分区。 例如&#xff0c;在 CentOS 系统中&#xff0c;你可以选择将…

第一次编程测试(分频器)

一&#xff0c;分频器 定义 分频器&#xff08;Divider&#xff09;是一种电子电路或设备&#xff0c;用于将输入信号的频率降低到较低的频率。它常用于数字系统、通信系统和计时应用中。原理 整数分频器使用计数器来实现频率的降低。计数器根据输入信号的边沿触发进行计数&am…

(三)RabbitMQ七种模式介绍与代码演示

Lison <dreamlison163.com>, v1.0.0, 2023.06.22 七种模式介绍与代码演示 文章目录 七种模式介绍与代码演示四大交换机四种交换机介绍 工作模式简单模式&#xff08;Hello World&#xff09;工作队列模式&#xff08;Work queues&#xff09;订阅模式&#xff08;Publis…

macOS Big Sur 11.7.9 (20G1426) 正式版 ISO、PKG、DMG、IPSW 下载

macOS Big Sur 11.7.9 (20G1426) 正式版 ISO、PKG、DMG、IPSW 下载 本站下载的 macOS 软件包&#xff0c;既可以拖拽到 Applications&#xff08;应用程序&#xff09;下直接安装&#xff0c;也可以制作启动 U 盘安装&#xff0c;或者在虚拟机中启动安装。另外也支持在 Window…

【FPGA/D6】

2023年7月25日 VGA控制器 视频23notecodetb 条件编译error时序图保存与读取&#xff1f;&#xff1f;RGBTFT显示屏 视频24PPI未分配的引脚或电平的解决方法 VGA控制器 视频23 note MCU单片机 VGA显示实时采集图像 行消隐/行同步/场同步/场消隐 CRT&#xff1a;阴极射线管 640…

94.qt qml-分页Table表格组件

在我们之前学习了87.qt qml-分页组件控件(支持设置任意折叠页数等)_qt分页控件_诺谦的博客-CSDN博客 然后我们又学习了Table实现,所以本章实现一个分页Table表格组件,配合分页控件, 模拟请求服务器数据来实现数据分解效果,因为一般使用分页的时候,一般都是分页请求,避免数…

Android TelephonyManager双卡获取数据开启状态异常的可能原因

背景 应用内不指定subId获取数据状态可能会错误&#xff0c;因为可能拿到voice的能力&#xff0c;而非data。 代码逻辑 1、通过TelephonyManager的isDataEnabled()没有指定subId时&#xff0c;调用内部方法isDataEnabledForReason&#xff0c;传入getId()参数以指定subid&am…

Hadoop——Hive运行环境搭建

Windows&#xff1a;10 JDK&#xff1a;1.8 Apache Hadoop&#xff1a;2.7.0 Apache Hive&#xff1a;2.1.1 Apache Hive src&#xff1a;1.2.2 MySQL&#xff1a;5.7 1、下载 Hadoop搭建 Apache Hive 2.1.1&#xff1a;https://archive.a…

【ArcGIS Pro微课1000例】0029:绘制全球海洋波纹荡漾效果图

本文讲解ArcGIS Pro3.0中,基于全球航洋面状矢量数据,绘制震撼全球海洋波纹荡漾效果图。 文章目录 一、效果预览二、效果制作三、参数详解一、效果预览 绘制好的海水波纹荡漾效果图如下: 下面我们来学习绘制过程。 二、效果制作 波纹荡漾效果需要在全局或者局部场景中制作…

【JVM】浅看JVM的运行流程和垃圾回收

1.JVM是什么 JVM&#xff08; Java Virtual Machine&#xff09;就是Java虚拟机。 Java的程序都运行在JVM中。 2.JVM的运行流程 JVM的执行流程&#xff1a; 程序在执行之前先要把java代码转换成字节码&#xff08;class文件&#xff09;&#xff0c;JVM 首先需要把字节码通过…

macbook 软件iMovie for Mac(专业视频剪辑工具)中文版

iMovie mac中文版是一款针对Mac平台量身定做的视频编辑工具&#xff0c;软件凭借流线型设计和直观的编辑功能&#xff0c;可以让您感受前所未有的方式制作好莱坞风格的预告片和精美电影&#xff0c;并且还可以浏览视频资料库&#xff0c;快速共享挚爱瞬间&#xff0c;创建精美的…

结构型设计模式之装饰器模式【设计模式系列】

系列文章目录 C技能系列 Linux通信架构系列 C高性能优化编程系列 深入理解软件架构设计系列 高级C并发线程编程 设计模式系列 期待你的关注哦&#xff01;&#xff01;&#xff01; 现在的一切都是为将来的梦想编织翅膀&#xff0c;让梦想在现实中展翅高飞。 Now everythi…

如何在Windows上恢复已删除的文件?

大多数人在无意中删除了一些重要文件后无法恢复。这些文件被暂时删除&#xff0c;直到我们清空回收站才会消失。你可以通过右键单击回收站中的文件并选择还原选项来轻松恢复这些文件。但是&#xff0c;如果你清理回收站删除了文件怎么办&#xff1f;或者不小心使用Shift Delet…

SpringCloud学习路线(10)——分布式搜索ElasticSeach基础

一、初识ES &#xff08;一&#xff09;概念&#xff1a; ES是一款开源搜索引擎&#xff0c;结合数据可视化【Kibana】、数据抓取【Logstash、Beats】共同集成为ELK&#xff08;Elastic Stack&#xff09;&#xff0c;ELK被广泛应用于日志数据分析和实时监控等领域&#xff0…

【数据挖掘】将NLP技术引入到股市分析

一、说明 在交易中实施的机器学习模型通常根据历史股票价格和其他定量数据进行训练&#xff0c;以预测未来的股票价格。但是&#xff0c;自然语言处理&#xff08;NLP&#xff09;使我们能够分析财务文档&#xff0c;例如10-k表格&#xff0c;以预测股票走势。 二、对自然语言处…

2023年Q2京东环境电器市场数据分析(京东数据产品)

今年Q2&#xff0c;环境电器市场中不少类目表现亮眼&#xff0c;尤其是以净水器、空气净化器、除湿机等为代表的环境健康电器。此外&#xff0c;像冷风扇这类具有强季节性特征的电器也呈现出比较好的增长态势。 接下来&#xff0c;结合具体数据我们一起来分析Q2环境电器市场中…

【已解决】jupyter notebook里已经安装了第三方库,还是提示导入失败

在jupyter notebook中运行Python代码&#xff0c;明明已经安装了第三方库&#xff0c;还是提示导入失败。 以导入pandas库为例&#xff0c;其他库同理&#xff1a; 报错代码&#xff1a; import pandas报错原因&#xff1a; 电脑上存在多个python运行环境&#xff08;比如&a…