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

相关推荐
l1x1n024 分钟前
No.2 笔记 | 网络安全攻防:PC、CS工具与移动应用分析
安全·web安全
醉颜凉2 小时前
银河麒麟桌面操作系统V10 SP1:取消安装应用的安全授权认证
运维·安全·操作系统·国产化·麒麟·kylin os·安全授权认证
小小工匠6 小时前
Web安全 - 路径穿越(Path Traversal)
安全·web安全·路径穿越
不灭锦鲤8 小时前
ssrf学习(ctfhub靶场)
网络·学习·安全
网络研究院11 小时前
如何安全地大规模部署 GenAI 应用程序
网络·人工智能·安全·ai·部署·观点
DonciSacer15 小时前
TryHackMe 第6天 | Web Fundamentals (一)
安全
云卓科技19 小时前
无人机之数据提取篇
科技·安全·机器人·无人机·制造
山兔119 小时前
工控安全防护机制与技术
安全
HEX9CF20 小时前
【CTF Web】Pikachu xss之href输出 Writeup(GET请求+反射型XSS+javascript:伪协议绕过)
开发语言·前端·javascript·安全·网络安全·ecmascript·xss
小小工匠21 小时前
加密与安全_HOTP一次性密码生成算法
算法·安全·htop·一次性密码