DVWA | DVWA 靶场初识

关注这个靶场的其它相关笔记:DVWA —— 靶场笔记合集-CSDN博客

0x01:DVWA 靶场简介

DVWA(Damn Vulnerable Web Application)是一个 PHP/MySQL 的 Web 应用程序,它被故意设计成包含多种安全漏洞,以便为网络安全专业人员、开发人员和学生提供一个合法和安全的环境来学习 Web 安全。

DVWA 靶场的主要特点包括:

  1. 多种漏洞类型: DVWA 中包含了多种常见的 Web 安全漏洞,比如 Brute Force(暴力破解漏洞)、Command Injection(命令行注入)、CSRF(跨站请求伪造)、File Inclusion(文件包含漏洞)、File Upload(文件上传漏洞)、SQL Injection(SQL 注入漏洞)等。

  2. 可调难度级别: DVWA 提供了从低到高的四种安全级别,允许用户根据自己的能力选择合适的挑战,并且通过不同级别的渗透学习,用户可以了解到相应漏洞的防御手段。

  3. 实时反馈: 用户可以通过靶场即时的看到攻击效果,并了解漏洞的原理和修复方法。

DVWA 靶场不仅适合网络安全课程实践教学,也适合个人学习者通过实际操作来提高对 Web 应用程序安全的理解和实践能力。通过使用 DVWA,用户可以加深对 Web 应用程序漏洞的认识,并学习如何有效地保护 Web 应用程序免受攻击。

0x02:DVWA 靶场安装

0x0201:Windows 系统安装 DVWA 靶场

附件资源

  • 靶场运行环境

    • PhpStudy - CSDN 配套资源:phpstudy_x64_8.1.1.3.zip

    • PhpStudy - 官网地址:小皮面板-好用、安全、稳定的Linux服务器面板!

  • 靶场资源包

    • DVWA 源码包 - CSDN 配套资源:DVWA-2.3.zip - 配合 PHP 7.3.4nts 使用,否则可能报错。

    • DVWA 源码包 - 官网地址:Damn Vulnerable Web Application (DVWA) (github.com)

Windows 操作系统安装 DVWA 靶场,主要分为以下两步:

  1. 靶场运行环境搭建(PHP + Apache) - PhpStudy => 参考:PhpStudy 使用手册

  2. 导入 DVWA 靶场源码并修改其数据库连接配置文件。

这里主要介绍第二步,靶场的运行环境我们采用 PhpStudy 一键集成部署即可,PhpStudy 的安装方法可以参考上面提供的链接(内含:Windows 与 Linux 操作系统安装 PhpStudy 的步骤)。

1. 导入 DVWA 靶场源码

首先,从附件资源中下载 DVWA 靶场的源码包,并进行解压操作:

然后,我们要将解压后的靶场文件,放到站点根目录下。PhpStudy 中定位站点根目录的方法如下:

打开站点根目录后,直接将解压后的 DVWA 靶场源码拖进去即可(为了方便后续访问,建议把解压后的文件名改为 dvwa(DVWA-2.3 => dvwa)):

下面是 dvwa 文件夹中的内容(直接就是源码,没有再多嵌套文件夹):

2. 修改 DVWA 数据库配置文件

源码导入成功后,我们还需要修改其数据库配置文件(复制一份,并去除文件后缀的 .dist):

 配置文件路径:WWW\dvwa\config\config.inc.php.dist

如下图,我们需要修改数据库连接的用户名和连接密码(别忘了保存):

上面的 db_userdb_password 字段,可以参考 PhpStudy 数据库页面中内容:

3. DVWA 靶场数据库初始化

修改完成后,我们就需要访问 DVWA 靶场,完成靶场的初始化了。不过在此之前,记得开启 PhpStudy 的 Apache 和 MySQL 服务:

接下来,我们访问 DVWA 靶场首页。我们刚刚是把 DVWA 的源码放在了 localhost 站点的 dvwa 目录下,所以我们访问靶场的地址为(如果报错,很有可能是 PHP 版本过低):

 http://localhost/dvwa

可以看到,成功访问了靶场。但此时靶场的数据库还没初始化完成,我们向下滑动页面,找到 Create/Reset Database 按钮,对靶场数据库进行初始化(这里埋下一个坑):

靶场数据库初始化完成后,会自动跳转到登录界面:

4. 访问并使用 DVWA 靶场

初始化完成后,我们重新输入下面的链接,访问 DVWA 靶场,它会跳转到登录页面:

 http://localhost/dvwa

输入用户名和密码完成登录,登录成功后,就可以使用 DVWA 靶场啦:

 DVWA 默认存在的用户名及其密码(你问我怎么知道的?MySQL 数据库与 MD5 加密了解一下):admin:passwordgordonb:abc1231337:charleypablo:letmeinsmithy:password

0x0202:Linux 系统安装 DVWA 靶场

 附件资源

  • 靶场运行环境

    • PhpStudy - 官网地址:小皮面板-好用、安全、稳定的Linux服务器面板!

  • 靶场资源包

    • DVWA 源码包 - CSDN 配套资源:DVWA-2.3.zip - 配合 PHP 7.3.4nts 使用,否则可能报错。

    • DVWA 源码包 - 官网地址:Damn Vulnerable Web Application (DVWA) (github.com)

Linux 操作系统安装 DVWA 靶场,主要分为以下两步:

  1. 靶场运行环境搭建(PHP + Apache) - PhpStudy => 参考:PhpStudy 使用手册

  2. 导入 DVWA 靶场源码并修改其数据库连接配置文件。

这里主要介绍第二步,靶场的运行环境我们采用 PhpStudy 一键集成部署即可,PhpStudy 的安装方法可以参考上面提供的链接(内含:Windows 与 Linux 操作系统安装 PhpStudy 的步骤)。

1. 导入 DVWA 靶场源码

首先,我们需要准备靶场的源码包,直接从附件资源中下载即可(不需要解压):

然后我们需要定位网站的根目录,并把靶场压缩包上传至站点根目录下,定位流程如下:

打开站点根目录后,点击 ”文件上传“,将 DVWA 的压缩包进行上传:

上传完毕后,我们需要解压 DVWA-2.3.zip 文件,直接在小皮面板中操作即可(这里最好创建一个 dvwa 文件夹来存放解压缩后的文件):

解压成功后的样式如下图所示,至此我们已经成功导入靶场源码了(如果出现了嵌套文件夹,可以在小皮面板中选择剪切文件,来消除嵌套的文件夹):

2. 修改 DVWA 数据库配置文件

源码导入成功后,我们还需要修改其数据库配置文件(去除文件后缀的 .dist):

 配置文件路径:wwwroot/dvwa/config/config.inc.php.dist

修改完文件扩展名后,我们需要修改数据库连接的用户名和连接密码(别忘了保存):

上上面的 db_userdb_password 字段,可以参考 PhpStudy 数据库页面中内容:

3. DVWA 靶场数据库初始化

修改完成后,我们就需要访问 DVWA 靶场,完成靶场的初始化了。不过在此之前,记得开启 PhpStudy 的 Nginx(和 Apache 类似) 和 MySQL 服务:

接下来,我们访问 DVWA 靶场首页。我们刚刚是把 DVWA 的源码放在了 localhost 站点的 dvwa 目录下,所以我们访问靶场的地址为(如果报错,很有可能是 PHP 版本过低):

 http://localhost/dvwa

可以看到,成功访问了靶场。但此时靶场的数据库还没初始化完成,我们向下滑动页面,找到 Create/Reset Database 按钮,对靶场数据库进行初始化(这里埋下一个坑):

靶场数据库初始化完成后,会自动跳转到登录界面:

4. 访问并使用 DVWA 靶场

初始化完成后,我们重新输入下面的链接,访问 DVWA 靶场,它会跳转到登录页面:

 http://localhost/dvwa

输入用户名和密码完成登录,登录成功后,就可以使用 DVWA 靶场啦:

 DVWA 默认存在的用户名及其密码(你问我怎么知道的?MySQL 数据库与 MD5 加密了解一下):admin:passwordgordonb:abc1231337:charleypablo:letmeinsmithy:password

0x03:DVWA 靶场切换不同安全级别

DVWA 靶场的一大特点就是,我们针对同一个漏洞可以使用不同的安全级别进行测试,通过对不同安全级别的同一漏洞进行渗透测试,我们可以更清晰的了解到该漏洞产生原理,挖掘方法以及修复方法。下面我将介绍 DVWA 靶场切换不同安全级别的方式。

0x0301:正常流程

进入靶场,输入用户名和密码后完成登录,此时我们来到了 Home 页面,点击页面左侧的 DVWA Security 按钮:

点击下图中的按钮,即可完成对靶场安全等级的切换:

比如,我将安全等级切换为 Low,此时,右击页面,打开 “开发者工具”,查看我在本站的 Cookie,可以发现,其有一个字段为 security:low,证明我们已经成功完成切换:

0x0302:异常流程

有时候我们会出现这么一个现象:我明明已经切换了安全等级,但是靶场的过滤方式依旧没变。

这是由于浏览器缓存导致的,即你想访问 DVWA 靶场,浏览器认为你以前访问过了,为了加快你访问的速度,浏览器就把它以前存储的关于该站点的资源拿出来给你看,而这个资源实际是过时的。

解决方法,打开浏览器,按住 Ctrl+Shift+Delete,选择清除浏览器数据和 Cookie 即可:

其他的流程就与正常处理流程一致了,这里就不多写了。

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

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

相关文章

正点原子学习笔记之汇编LED驱动实验

1 汇编LED原理分析 为什么要写汇编     需要用汇编初始化一些SOC外设     使用汇编初始化DDR、I.MX6U不需要     设置sp指针,一般指向DDR,设置好C语言运行环境 1.1 LED硬件分析 可以看到LED灯一端接高电平,一端连接了GPIO_3上面…

安卓手机平板远程访问内网服务器中安装的code-server编程开发实战

文章目录 前言1.Ubuntu本地安装code-server2. 安装cpolar内网穿透3. 创建隧道映射本地端口4. 安卓平板测试访问5.固定域名公网地址6.结语 前言 本文主要介绍如何在Linux Ubuntu系统安装code-server,并结合cpolar内网穿透工具配置公网地址,轻松实现使用安…

【开源免费】基于SpringBoot+Vue.JS医院电子病历管理系统(JAVA毕业设计)

本文项目编号 T 008 ,文末自助获取源码 \color{red}{T008,文末自助获取源码} T008,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 医…

YOLOv10改进策略【注意力机制篇】| 引入MobileNetv4中的Mobile MQA,提高模型效率

一、本文介绍 本文记录的是基于Mobile MQA模块的YOLOv10目标检测改进方法研究。MobileNetv4中的Mobile MQA模块是用于模型加速,减少内存访问的模块,相比其他全局的自注意力,其不仅加强了模型对全局信息的关注,同时也显著提高了模…

Spring Boot洗衣店订单系统:简化您的业务流程

1系统概述 1.1 研究背景 如今互联网高速发展,网络遍布全球,通过互联网发布的消息能快而方便的传播到世界每个角落,并且互联网上能传播的信息也很广,比如文字、图片、声音、视频等。从而,这种种好处使得互联网成了信息传…

JavaScript 常量/数据类型/类型转换 简单学习

目录 1. 常量 1.1 常量概述 1.2 案例 1.3 总结 2. 数据类型 2.1 概述 2.2 分类 2.2.1 基本数据类型 2.2.1 基本数据类型——number (数值/字型) 2.2.1 数字型——算术运算符 2.2.1 基本数据类型——String (字符串类型) 2.2.1 字符串拼接 2.2.1 模板字符串 2.2.1…

VMwareWorkstation安装KylinV10sp3(银河麒麟)系统教程

版本说明 VMware版本如下 OS版本如下 创建虚拟机 点击创建新的虚拟机 按图下所示选择,点击下一步 按照图下所示选择,点击下一步 按照图下所示选择,点击下一步 按照图下所示选择,点击下一步 设置虚拟机名称,点击下一步…

java-02 数据结构-队列

在Java中,队列是一种常见的数据结构,用于在保持顺序的同时存储和检索数据。Java提供了java.util.Queue接口,它的常见实现包括ArrayDeque、LinkedList和PriorityQueue等。 如果你觉得我分享的内容或者我的努力对你有帮助,或者你只…

git删除错误的commit

git的流程如图: 当某次失误造成commit的版本有问题,需要回退到正常的版本修改后重新add。 首先通过git log查看commit提交记录,可以看到HEAD->mater是本地最新的commit,而origin/master, origin/HEAD是远程仓库上的最新记录…

Golang | Leetcode Golang题解之第467题环绕字符串中唯一的子字符串

题目: 题解: func findSubstringInWraproundString(p string) (ans int) {dp : [26]int{}k : 0for i, ch : range p {if i > 0 && (byte(ch)-p[i-1]26)%26 1 { // 字符之差为 1 或 -25k} else {k 1}dp[ch-a] max(dp[ch-a], k)}for _, v :…

【GT240X】【3】Wmware17和Centos 8 安装

文章目录 一、说明二、安装WMware2.1 下载WMware2.2 安装2.3 虚拟机的逻辑结构 三、安装Centos3.1 获取最新版本Centos3.2 创建虚拟机 四、问题和简答4.1 centos被淘汰了吗?4.2 centos里面中文显示成小方块的解决方法4.3 汉语-英语输入切换4.4 全屏和半屏切换 五、练…

【mmsegmentation】Backbone模块(进阶)自定义自己的BACKBONE

1、定义自己的backboe driving\models\backbones\efficientnetlite.py import math import torch import torch.nn as nn import torch.functional as F from mmengine.model import BaseModule from mmseg.models import BACKBONES, build_backboneefficientnet_lite_params …

双主轴车床的优势

双主轴车床作为现代制造业中的一项重要技术,其优势显而易见。下面我将从几个方面详细阐述双主轴车床的优势: ‌一、提高生产效率‌ ‌并行加工‌:双主轴车床最大的特点在于其能够同时在两个主轴上进行加工,这种并行加工方式使得在…

苍穹外卖--分页查询

pagehelper插件 先导入坐标 重点代码:service层 利用pagehelper动态拼接limit语句 不用在mapper中写limit 底层利用localthread来传递数据 时间显示不规范 解决方式: 方式一:在属性上加入注解,对日期进行格式化 方式二&#x…

vue基础(总结很详细)

vue 基础 1. vue 是什么? Vue.js (读音 /vju ː /, 类似于 view ) 是一套构建用户界面的渐进式框架。 Vue 只关注视图层, 采用自底向上增量开发的设计。 Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图…

set的基本用法 和 底层简单了解

在前面,已经了解过搜索二叉树了,也了解了一点红黑树的内容(不太了解的可以先查看前面的内容哦);现在我们了学习一下,底层以红黑树实现,遍历以搜索树的中序实现的set/multset; 序列式…

Java | Leetcode Java题解之第470题用Rand7()实现Rand10()

题目&#xff1a; 题解&#xff1a; class Solution extends SolBase {public int rand10() {int a, b, idx;while (true) {a rand7();b rand7();idx b (a - 1) * 7;if (idx < 40) {return 1 (idx - 1) % 10;}a idx - 40;b rand7();// get uniform dist from 1 - 63…

如何实现MySQL异地多活场景

作为现代化的互联网企业 &#xff0c;最怕的是什么 &#xff1f;是意外&#xff01;由各种意外导致的数据库问题&#xff0c;磁盘问题、网络问题、人员误操作问题等等&#xff0c;这些问题都可能导致数据不可用或者丢失&#xff0c;造成重大损失。因此&#xff0c;很少会有企业…

【AI系统】AI 学习方法与算法现状

在人工智能&#xff08;AI&#xff09;的漫长历史中&#xff0c;我们见证了从早期的规则驱动系统到现代的机器学习模型的转变。AI的学习方法是其进步的核心&#xff0c;而算法现状则反映了当前技术的高度和未来的发展方向。 Ⅰ.AI 学习方法 AI的工作原理基于深度神经网络&…

24.4 基于consul服务发现模式

本节重点介绍 : consul 安装consul go代码注册服务&#xff0c;注销服务&#xff0c;获取服务node_exporter改造为consul服务发现在数量比较大时&#xff0c;在注册服务的时候&#xff0c;关闭check&#xff0c;可以降低consul的压力 consul 安装 准备工作 # 下载consul wge…