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

相关推荐
小新讲网安18 小时前
WiFi安全攻防实战:WPA3新协议与传统破解技术全解析
开发语言·网络·安全·php·漏洞·nmap·漏洞检测
广凌股份(广凌科技)18 小时前
广凌内控管理平台:动态管控+智能预警,夯实高校资产安全与效益基础
安全
福大大架构师每日一题1 天前
agno v2.9.0发布:身份感知调度、缓存隔离、安全加固与组件重建全面升级
安全·缓存
huangns1 天前
混合多云零信任架构下的应用安全:WAF与应用层DDoS协同防护
安全·ddos·零信任·waf
数据知道1 天前
网络安全实战:子域名接管实战——从 CNAME 配置错误到完全控制
网络·安全·web安全·网络安全
小新讲网安1 天前
云安全攻防实战:AWS与阿里云渗透测试全流程指南
安全·web安全·网络安全·阿里云·自动化·云计算·aws
吴声子夜歌1 天前
网络安全——身份认证
安全·web安全·身份认证
测试修炼手册1 天前
[测试技术] 文件上传功能怎么测:格式、大小、并发与安全
安全
Aision_1 天前
代码安全学习手记(二):SCA 软件成分分析原理与 OWASP Dependency-Check 集成实战
运维·人工智能·学习·安全·web安全·网络安全
虹科网络安全1 天前
从33.2%降至4.2%:KnowBe4 2026报告揭示持续培训如何重塑企业安全防线
安全