DVWA的部署和教程

  • 概述
  • 本地部署DVWA
    • 部署DVWA的基本环境
    • 下载DVWA
    • 配置MySql数据库
    • 配置DVWA
  • DVWA教程
  • 总结

概述

  DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境,帮助web开发者更好的理解web应用安全防范的过程。

本地部署DVWA

部署DVWA的基本环境

  dvwa本质也是一个web应用服务,所以可以使用下面的web应用服务组合来进行环境部署 – Apache + php + MySql。我在这篇博客中比较详细的讲解了该web环境的部署,参见 – CTF之web学习记录 – 工具篇。这篇博客中主要是在linux环境下分别安装三个工具,其实可以用集成环境直接一把搞定 – XAMPP,XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包。
  接下来是按照单独安装Apache+php+MySql的方式进行部署DVWA,和使用XAMPP略有区别,其实也就是一些目录的不同而已,基本思路是一样的。

下载DVWA

  DVWA
  上面是dvwa的链接,将下载好的文件解压出来,重新命名为dvwa,然后复制到/var/www/html目录下。

配置MySql数据库

  dvwa的使用需要结合MySql数据库,这里我们先在MySql数据库中创建一个用户供dvwa使用。用户名为dvwa,密码也是dvwa,授予该用户对dvwa数据库中所有表的所有权限。

$ sudo mysql
$ create database dvwa;
$ create user "dvwa"@"localhost" identified by "dvwa";
$ grant all on dvwa.* to "dvwa"@"localhost";

配置DVWA

  接下来是对DVWA的配置,下载DVWA,解压并重名为dvwa后,发现dvwa/config文件下没有config.inc.php文件,但有config.inc.php.dist文件。接下来按照下面命令行操作:

$ cp config.inc.php.dist config.inc.php
$ vim config.inc.php
# 对应行数的内容修改如下
# 对比官方文件也只是修改了db_password
......
......18 $_DVWA[ 'db_server' ]   = '127.0.0.1';19 $_DVWA[ 'db_database' ] = 'dvwa';20 $_DVWA[ 'db_user' ]     = 'dvwa';21 $_DVWA[ 'db_password' ] = 'dvwa';22 $_DVWA[ 'db_port'] = '3306';2324 # ReCAPTCHA settings25 #   Used for the 'Insecure CAPTCHA' module26 #   You'll need to generate your own keys at: https://www.google.com/recaptcha/admin27 $_DVWA[ 'recaptcha_public_key' ]  = '6LdK7xITAAzzAAJQTfL7fu6I-0aPl8KHHieAT_yJg';28 $_DVWA[ 'recaptcha_private_key' ] = '6LdK7xITAzzAAL_uw9YXVUOPoIHPZLfw2K1n5NVQ';............

  上面文件中,23行之前对应数据库的配置,23行后对应
reCAPTCHA API key的配置,如果不配置对应的公私匙会在Insecure CAPTCHA章节出现如下的报错信息。

  之后我们访问http://your_local_ip/dvwa/setup.php,会出现Database Setup界面,如果你运气好,出现该界面时Setup Check中的状态应该是这样的,如下图所示。

  但最开始我安装的时候,php module gd/mysql/pdo_mysql状态都为红,后面两个module的缺失导致我无法点击运行最下面的Create / Reset Database。这里我们可以通过下面的命令进行安装,安装完后记得重启一下apache服务。

sudo apt install php-mysql
sudo apt install php-gd

  安装完上面的包后,Setup Check中还有一行状态为红色,allow_url_include,该状态会影响文件包含一节的操作,所以这里提前修改一下。首先在apache网页根目录下即/var/www/html目录下创建index.phpindex.php中的内容如下,然后访问http://your_local_ip/index.php,就可以看到php的配置信息,如下图所示。

<?phpphpinfo();
?>


  上图中显示了我的php版本为7.2,且php.ini配置文件在/etc/php/7.2/目录下,我们需要修改该配置文件中的allow_url_include = On,如下截图所示,之后再重启下apache服务即可。

  最后我们修改一下一些目录和文件的可写权限,也就是下面截图中展示的两个目录和一个文件。如果本身就显示为Yes,表明权限正确,不需要进行修改。

$ cd /var/www/html/
$ sudo chmod 777 dvwa/hackable/uploads/
$ sudo chmod 777 dvwa/external/phpids/0.6/lib/IDS/tmp/phpids_log.txt
$ sudo chmod 777 dvwa/config/


  最后我们再点击上面的Create / Reset Database,如果config.inc.php文件中数据库配置正确,那么就会返回到DVWA的登录界面。如下图所示,此时用户名输入admin,密码为password,我们就可以开始进行我们的web漏洞学习了。

DVWA教程

  本来想自己再写一篇全系列的DVWA教程,但发现网上这种教程颇多,我也就不再做简单的搬运工了。大家可以参考一下这个系列的博文 — 新手指南:DVWA-1.9全级别教程,内容很详尽,虽细节之处略有偏失,但那些内容也正是需要我们自己动手才能掌握的。

总结

  在本次dvwa的环境搭建过程中,我遇到一些小问题,主要原因是我没有使用集成的web服务环境,而是自己选择了apache+php+mysql这种一步一步的方式来搭建这个环境。当然采取这种方式给自己造成了一些动手上的麻烦,但同时也帮助自己学习了更多的知识,以及在面临这些问题时该如何思考并尝试自己去解决,相信每克服一个问题,都将使自己变得更强大。

不忘初心,砥砺前行!

DVWA的部署和教程相关推荐

  1. .Net Core 在 Linux-Centos上的部署实战教程(二)

    .Net Core 在 Linux-Centos上的部署实战教程(二) 原文:.Net Core 在 Linux-Centos上的部署实战教程(二) 上篇我们说了 如何在Linux上部署.net co ...

  2. 企业级应用WebLogic11g集群配置与项目实施_WebLogic部署培训教程

    企业级应用WebLogic11g集群配置与实项目施_风哥版WebLogic部署培训教程3 能完成企业级的WebLogic11g集群实施和维护工作,如下: 1.了解企业级应用系统项目实施流程 2.虚拟机 ...

  3. Docker ElK安装部署使用教程

    Docker ElK安装部署使用教程 原文:Docker ElK安装部署使用教程 一.简介 1.核心组成 ELK由Elasticsearch.Logstash和Kibana三部分组件组成: Elast ...

  4. MySQL免安装版配置部署详细教程

    MySQL免安装版配置部署详细教程 这里写目录标题 MySQL免安装版配置部署详细教程 部署MySQL免安装版(windows版) 1.windows的mysql配置文件是my.ini,将此文件放到m ...

  5. 【dubbo-2.5.x】Linux下dubbo-admin监控/管理平台部署详细教程

    前言 Dubbo-Admin是Dubbo控制台管理的工具,是Dubbo组件之一,需要Dubbo-Admin管理平台来实时对服务调用情况进行调整,比如控制分布式服务的调用权重等,通过调整调整调用权重来控 ...

  6. Python开发环境部署详细教程,附上免费Python开发平台

    Python开发环境部署详细教程来啦!本文将带大家搭建一个Python虚拟环境和基于网页的用于交互计算的应用程序Jupyter Notebook. 如果这么简单的部署教程你还是学不会,没关系,在文章末 ...

  7. Linux环境下安装及部署Nginx教程

    一.安装教程 1.官网下载地址:nginx: download 2.下载教程: 1)选择Stable version版本下载到本地(该版本为Linux版本),下载完成后直接在本地解压后放入linux系 ...

  8. 【PhotoScan教程】Ps集群处理环境部署图文教程

    [PhotoScan教程]Ps集群处理环境部署图文教程 Ps集群处理环境部署图文教程 设置共享目录 主机电脑设置 主机命令 主机运行命令后会显示等待从机连接 从机电脑设置 从机运行命令成功后会显示已连 ...

  9. 如何部署linux服务器,CRAP-API——如何在Linux服务器部署CRAP-API教程

    标签:trade   使用   format   ade   cer   art   files   朋友   linux 前言 之前一直用的eolinker的免费版,但是人数有限,所以想找个免费开源 ...

最新文章

  1. 区块链基础:理论和术语
  2. 由浅入深C A S,小白也能与BAT面试官对线
  3. Linux卸载蓝牙模块,Linux 下调试低功耗蓝牙的笔记
  4. 剑指Offer - 面试题36. 二叉搜索树与双向链表(中序循环/递归)
  5. SQL数据库层面操作(DDL)
  6. a标签中href=javascript:;表示什么意思??
  7. .sql文件导入mysql数据库中
  8. 管理账目的计算机软件有哪些,会计核算软件有哪些功能模块
  9. servlet 工作原理
  10. Java 分页工具类
  11. 机器人学习参考书籍目录整理
  12. Leetcode 274 H指数
  13. CS231n课程笔记翻译2:图像分类笔记
  14. 提示https不安全的原因及解决办法
  15. windows系统统不支持mysql_Windows系统下MySQL无法启动的万能解决方法
  16. vue + Element UI 动态Breadcrumb 面包屑的制作
  17. H3C路由器交换机配置sflow
  18. Linux环境中第一行dpa,nvdimm
  19. 【电子产品】kindle使用心得.满满干货
  20. 游戏开发中为什么要控制模型的面数

热门文章

  1. C语言讲义——链表的实现
  2. IPV6 IPV4 java 转换为数字
  3. 【Python】asyncio的使用(async、await关键字)
  4. Debian选择并安装软件需要下载很久的解决办法
  5. android开发 dts、各种接口porting
  6. 2021年制冷与空调设备运行操作免费试题及制冷与空调设备运行操作操作证考试
  7. dll文件的注册与删除
  8. c语言花卉销售与管理系统,花卉销售与管理系统
  9. Web Service技术的SOAP实现
  10. Java基本计算方法