DVWA 部署

一、 介绍

Damn Vulnerable Web Application (DVWA)(译注:可以直译为:”该死的”不安全Web应用程序),是一个编码差的、易受攻击的 PHP/MySQL Web应用程序。
它的主要目的是帮助信息安全专业人员在合法的环境中,练习技能和测试工具,帮助 Web 开发人员更好地了解如何加强 Web 应用程序的安全性,并帮助学生和教师在可控的教学环境中了解和学习 Web 安全技术。

DVWA的目的是通过简单明了的界面来练习一些最常见的 Web 漏洞,所练习的漏洞具有不同的难度级别。 请注意,此软件存在提示和无提示的漏洞。 这是特意为止。 我们鼓励您依靠自己的能力尝试并发现尽可能多的安全问题。

二、 部署

2.1 下载

https://github.com/digininja/DVWA

2.2 依赖安装

yum install httpd mariadb-server mariadb-client php php-mysqli php-gd

2.3 数据库配置 (mariadb)

create database dvwa;
create user dvwa@localhost identified by 'p@ssw0rd';
grant all on dvwa.* to dvwa@localhost;
flush privileges;

2.4 dvwa 配置

配置文件: config.ini.php

修改配置如下:

$_DVWA[ 'db_server'] = '127.0.0.1';
$_DVWA[ 'db_port'] = '3306';
$_DVWA[ 'db_user' ] = 'dvwa';
$_DVWA[ 'db_password' ] = 'p@ssw0rd';
$_DVWA[ 'db_database' ] = 'dvwa';

2.5 httpd 配置

将dvwa 解压后放至 /var/www/html 目录, 注意权限问题

三、 DVWA 配置

3.1 php 模块配置

可以看到有几个 Disabled 状态的模块

PHP function display_errors: Disabled
PHP function display_startup_errors: Disabled
PHP function allow_url_include: Disabled

修改 /etc/php.ini
找到对应的配置修改配置 On 即可

图

3.2 配置数据

点击下面的 create/Reset Database 按钮后, 重新登录 dvwa 即可
图

四、 常见问题

4.1 httpd 403 forbident

关闭 selinux: setenforce 0

4.2 DVWA system error

注意配置文件的路径和名称
路径: ./config 目录下
名称: config.inc.php

五、 docker 部署

5.1 获取镜像

docker pull vulnerables/web-dvwa

5.2 启动容器

docker run -d --rm -p 80:80 vulnerables/web-dvwa:latest

5.3 allow_url_include 配置

路径: 容器:/etc/php/7.0/apache2/php.ini
使用docker cp 将文件复制出来, 修改完文件后, 复制进容器内替换文件, 然后重启容器.