DVWA靶场搭建:Apache、MySQL、PHP、DVWA

最近为了能够较为真实地学习Web渗透的各种技术,就想着自己搭建一个专门用于学习的Web演练平台--DVWA"靶场"。

DVWA可以进行暴力(破解)、命令行注入、跨站请求伪造、文件包含、文件上传、不安全的验证码、SQL注入、SQL盲注、弱会话ID、XSS漏洞(DOM型跨站脚本、反射型跨站脚本、 存储型跨站脚本)等漏洞的演练,由于该系统提供了多个安全演练级别,因此可以逐步地来提高Web渗透的技术。DVWA是一套开源的系统,在练习Web渗透技术的同时,也可以通过阅读源码学习到对于各种漏洞的安全防护编码。

在网上搜了一圈发现大多都是PhpStudy+DVWA这种配置,由于主机上已经安装过Mysql,所以就想着单独安装Apache,然后配置关联Mysql和DVWA。

一、准备工作:

1、Apache:官网上下载最新的文件;

2、Mysql:官网上下载最新的安装包;

3、PHP:官网上下载最新的文件;

4、DVWA:https://github.com/digininja/DvWA/archive/master.zip

二、安装配置

Apache 配置步骤

  • 修改conf目录下httpd.conf根目录配置:Define SRVROOT "F:/Apache24";
  • CMD进入到bin目录下,使用httpd -t ,检查配置文件是否合法;
  • CMD进入到bin目录下,执行httpd -k install -n 自定义的访问名;
  • CMD进入到bin目录下,执行net start apache 或者执行httpd -k start -n apache启动服务;
  • 启动后面板控制如图
  • 通过浏览器访问http://localhost显示It Works!即部署成功。

PHP安装配置

  • 复制一份php.ini-development,重命名php.ini
  • 修改配置extension_dir = "F:/你自己的主机路径/php/ext"

MySQL安装配置

  • 文件解压后将bin目录添加进系统环境变量

  • 进目录建配置文件my.ini

    [mysqld]

    设置3306端口

    port=3306

    设置mysql的安装目录

    basedir=D:/本地服务安装路径/mysql ----------是本地的文件路径-------------

    设置mysql数据库的数据的存放目录

    datadir=D:/本地服务安装路径/data ---------创建data文件夹-------------

    允许最大连接数

    max_connections=200

    允许连接失败的次数。

    max_connect_errors=10

    服务端使用的字符集默认为utf8mb4

    character-set-server=utf8mb4

    创建新表时将使用的默认存储引擎

    default-storage-engine=INNODB

    默认使用"mysql_native_password"插件认证

    #mysql_native_password
    default_authentication_plugin=mysql_native_password
    [mysql]

    设置mysql客户端默认字符集

    default-character-set=utf8mb4
    [client]

    设置mysql客户端连接服务端时默认使用的端口

    port=3306
    default-character-set=utf8mb4

三、关联配置

1、修改 Apache24\conf\目录下的httpd.conf 配置,让Apache 和 PHP协同工作,修改默认的索引,以支持PHP:添加index.php

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

2、开启 rewrite 功能:将下面两行代码前面的 # 去掉:

LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so

3、如果是PHP7,需要添加一下配置:

#php7
LoadModule php7_module F:/本地路径/php/php7apache2_4.dll
PHPIniDir F:/本地路径/php/php.ini
AddType application/x-httpd-php .php .html #声明.php和.html的文件能执行PHP程序
AddType application/x-httpd-php-source .phps

4、检查配置是否生效,添加文件查看phpinfo

<?php
	phpinfo();
?>

5、重启Apache服务,访问http://localhost/1.php页面显示phpinfo则成功

6、修改PHP配置php.ini,去掉前面的;使php支持mysql。

extension=mysqli
;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
;extension=odbc
;extension=openssl
;extension=pdo_firebird
extension=pdo_mysql

7、重启Apache服务,检查phpinfo页面,更新mysql相关API扩展即配置成功。

8、解压DVWA文件后,运行database目录下mysql脚本(或者后面部署DVWA后从页面导航创建),创建测试数据。

四、DVWA安装配置

1、将dvwa压缩包解压到apache\htdocs目录下;

2、复制dvwa/config目录里config.inc.php.dist重命名为config.inc.php,修改配置文件去连接我们前面创建好的数据库。

$_DVWA = array();
$_DVWA[ 'db_server' ]   = getenv('DB_SERVER') ?: '127.0.0.1';
$_DVWA[ 'db_database' ] = 'dvwa';
$_DVWA[ 'db_user' ]     = 'root';
$_DVWA[ 'db_password' ] = 'root';
$_DVWA[ 'db_port']      = '3306';

3、重启Apache服务,通过浏览器访问http://localhost/dvwa显示登录页面即搭建成功。

4、根据测试账号登录即可开始安全测试学习。

|---------|----------|
| 账户 | 密码 |
| admin | password |
| gordonb | abc123 |
| 1337 | charley |
| pablo | letmein |
| smithy | password |

五、其他问题

1、首次登陆DVWA提示reCAPTCHA key: Missing解决方法

编辑 dvwa/config/config.inc.php这个配置文件,给下面两个Key加上值。

$_DVWA[ 'recaptcha_public_key' ] = '6LdJJlUUAAAAAH1Q6cTpZRQ2Ah8VpyzhnffD0mBb';
$_DVWA[ 'recaptcha_private_key' ] = '6LdJJlUUAAAAAM2a3HrgzLczqdYp4g05EqDs-W4K';

key自动生成地址:https://www.google.com/recaptcha/admin/create

相关推荐
AI服务老曹6 小时前
运用先进的智能算法和优化模型,进行科学合理调度的智慧园区开源了
运维·人工智能·安全·开源·音视频
网络安全King7 小时前
华为 网络安全 认证
安全·web安全
网络安全-老纪8 小时前
网络安全-js安全知识点与XSS常用payloads
javascript·安全·web安全
API_technology8 小时前
电商API安全防护:JWT令牌与XSS防御实战
前端·安全·xss
Tipray20068 小时前
天 锐 蓝盾终端安全管理系统:办公U盘拷贝使用管控限制
安全
坚定信念,勇往无前12 小时前
Spring Boot 如何保证接口安全
spring boot·后端·安全
数造科技12 小时前
紧随“可信数据空间”政策风潮,数造科技正式加入开放数据空间联盟
大数据·人工智能·科技·安全·敏捷开发
winfredzhang13 小时前
Python实战:Excel中文转拼音工具开发教程
python·安全·excel·汉字·pinyin·缩写
网安加云课堂13 小时前
课程分享 | 安全系统建设的挑战与解决方案
网络·安全·web安全
源码宝14 小时前
医院安全(不良)事件上报系统源码,基于Laravel8开发,依托其优雅的语法与强大的扩展能力
安全·不良事件上报·医院不良事件管理