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; |
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 将文件复制出来, 修改完文件后, 复制进容器内替换文件, 然后重启容器.