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. 力扣1002.查找常用字符
  2. 深入浅出Yolo系列之Yolov3amp;Yolov4核心基础知识完整讲解
  3. 4412 GPIO读 和 ioremap控制GPIO寄存器
  4. PCB,硬件工程师的小情人。
  5. 微信(QQ)截图时,无法保留鼠标右键菜单选项内容
  6. node.js之文件读写模块,配合递归函数遍历文件夹和其中的文件
  7. dell 重装linux系统_U盘装系统开机按哪个键
  8. C++中const使用总结
  9. 【单片机】keil 2032
  10. while(pid1 = fork()== -1);直接分号,循环语句为空
  11. 最新手机号码、电话号码正则表达式
  12. python发出报警声音(C#一样适用)
  13. 世界五大黑客:代码创造他们,他们改变世界!
  14. Mac怎么格式化U盘?Mac格式化fat32格式详解
  15. laravel 输出最后执行sql 附:whereIn用法
  16. “游匣”冲击暑期档——戴尔为中国用户定制笔记本电脑
  17. 硬盘坏了!!!!!!
  18. 3D打印将对零售模式产生颠覆影响,能否抓住机遇
  19. C#实现Winform间的数据交互的三种方法
  20. Python变量与字符串

热门文章

  1. 使用Python对音频进行频谱分析
  2. [转载]AutoIT3 vs AutoHotkey
  3. 基于Mtk平台的android camera hal3学习
  4. 杭州还不错的IT公司,想跳槽了,不知道下一站在哪里
  5. TensorFlow性能分析调研
  6. FOT币值暴涨500%,一日内翻涨两次!分析师预测FOT可涨至数百美元……
  7. 思维导图学习 | 第四篇:java学习特别篇,java正确的学习姿势
  8. 每日一题之后缀表达式
  9. 阿里P6晋升到P7是一个坎吗? P7 晋升总结
  10. 文本相似度匹配-task1