一、简介
Damn Vulnerable Web App (DVWA) 是一个非常容易受到攻击的 PHP/MySQL Web 应用程序。其主要目标是帮助安全专业人员在法律环境中测试他们的技能和工具,帮助 Web 开发人员更好地了解保护 Web 应用程序的过程,并帮助教师/学生在课堂环境中教授/学习 Web 应用程序安全性。
官网:http://www.dvwa.co.uk/
GitHub:https://github.com/digininja/DVWA
二、环境搭建
2.1、Linux环境下搭建
2.1.1、使用LAMP环境搭建
LAMP的意思是:Linux+Apache+MySQL+PHP
1、安装Apache
yum -y install httpd
2、修改Apache配置文件httpd.conf
将125行的none改为all,并重启服务
vim /etc/httpd/conf/httpd.conf
systemctl restart httpd
3、浏览器访问是否成功,如果访问失败可以使用以下命令关闭防火墙后再次尝试
systemctl stop firewalld
4、安装Mariadb
yum -y install mariadb-server mariadb #安装Mariadb
systemctl restart mariadb.service #重启服务
5、初始化数据库
mysql_secure_installation
进去之后直接回车,然后输入密码,后面全都直接回车
6、安装PHP
yum -y install php
7、安装PHP组件,使php支持Mariadb
yum -y install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt
8、重启Apache、MariaDB,并在Apache根目录下创建PHP文件测试是否搭建成功。
systemctl restart httpd #重启Apache
systemctl restart mariadb #重启MariaDB
在/var/www/html
目录下创建test.php文件,内容如下
<?php
phpinfo();
?>
9、浏览器访问http://YOUIP/test.php
显示如下界面表示创建成功
10、将下载好的DVWA压缩包上传到/var/www/html
目录下解压并重新命名为DVWA
unzip DVWA-master.zip -d /var/www/html/
mv DVWA-master DVWA
11、在数据库里面创建一个库给DVWA
mysql -uroot -p
create database dvwa;
grant all on dvwa.* to dvwa@localhost identified by '123456';
flush privileges;
exit
12、在/var/www/html/DVWA/config
目录下修改DVWA配置文件
cp config.inc.php.dist config.inc.php
vi config.ini.php
修改这段代码对应自己数据库相应的内容
#See README.md for more information on this.
$_DVWA = array();
$_DVWA[ 'db_server' ] = 'localhost';
$_DVWA[ 'db_database' ] = 'dvwa';
$_DVWA[ 'db_user' ] = 'dvwa';
$_DVWA[ 'db_password' ] = '123456';
$_DVWA[ 'db_port'] = '3306';
#You'll need to generate your own keys at: https://www.google.com/recaptcha/admin
$_DVWA[ 'recaptcha_public_key' ] = '6LdJJlUUAAAAAH1Q6cTpZRQ2Ah8VpyzhnffD0mBb';
$_DVWA[ 'recaptcha_private_key' ] = '6LdJJlUUAAAAAM2a3HrgzLczqdYp4g05EqDs-W4K';
13、浏览器访问http://YOUIP/DVWA/setup.php
,可以看到我们还有一些问题需要处理(状态为红色,表示在尝试完成某些模块时会出现问题)。
Versions of PHP below 7.x are not supported, please upgrade.
PHP function display_errors: Disabled
PHP function display_startup_errors: Disabled
PHP function allow_url_include: Disabled
Writable folder /var/www/html/DVWA/hackable/uploads/: No
Writable folder /var/www/html/DVWA/config: No
14、处理Versions of PHP below 7.x are not supported, please upgrade.
升级PHP版本到7.X
#查看已安装的php的所有包
yum list installed | grep php
#卸载上述包
yum remove php*
#换下载源为remi
yum install epel-release
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
#安装php7.4以及一些扩展包
yum -y install php74-php-devel php74-php.x86_64 php74-php-cli.x86_64 php74-php-common.x86_64 php74-php-gd.x86_64 php74-php-ldap.x86_64 php74-php-mbstring.x86_64 php74-php-mcrypt.x86_64 php74-php-pdo.x86_64 php74-php-mysqlnd php74-php-fpm php74-php-opcache php74-php-pecl-redis php74-php-pecl-mongodb
#启动php7.4命令
systemctl start php74-php-fpm
15、处理PHP function display_errors: Disabled
、PHP function display_startup_errors: Disabled
、PHP function allow_url_include: Disabled
修改/etc/opt/remi/php74
下的php.ini
文件(如果不知道文件位置可以参考上面步骤8创建test.php文件查看文件位置)。
将display_errors
、display_startup_errors
、allow_url_include
全部由Off
修改为On
。
16、处理Writable folder /var/www/html/DVWA/hackable/uploads/: No
、Writable folder /var/www/html/DVWA/config: No
/var/www/html/DVWA/hackable/uploads/
是文件上传存放的地方,没有写权限(w),给其权限就可以了
chmod 777 /var/www/html/DVWA/hackable/uploads/
/var/www/html/DVWA/config
同理
chmod 777 /var/www/html/DVWA/config/
17、点击最下方的Create/Reset Database
18、可以开始使用了,账号密码:admin/password
PS:如果不想每次开机都重启服务,可以设置开机自启
systemctl enable httpd #设置开机自启Apache
systemctl enable mariadb.service #设置开机自启MariaDB
2.1.2、使用docker搭建
1、安装docker
yum -y install docker
2、安装docker-compose
方法一:
yum -y install epel-release
yum -y install python3-pip
pip3 install docker-compose
方法二:
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
安装完成后查看版本
docker-compose --version
若是出现错误-bash: /usr/local/bin/docker-compose: Permission denied
输入chmod +x /usr/local/bin/docker-compose
即可。
3、启动docker并下载容器
PS:容器下载失败看这里:
systemctl start docker
docker pull vulnerables/web-dvwa
4、查看并启动容器
docker images
docker run -d -p 8080:80 ab
5、登录
浏览器访问http://YOUIP:8080
账号密码:admin/password,可以愉快的玩耍了。
2.2、Windows环境下搭建
2.2.1、使用小皮面板安装
1、官网下载小皮面板并安装
**官网:**https://www.xp.cn/
2、安装完小皮面板并下载 DVWA 后,将下载的 DVWA 文件解压放入小皮面板安装目录下的 www 文件夹中
3、修改配置文件config.inc.php
打开DVWA下的config
文件夹,有一个config.inc.php.dist
文件,将此文件复制一份重新命名为config.inc.php
打开config.inc.php
文件,将数据库的密码修改为小皮面板中数据库的密码,并配置reCAPTCHA key
$_DVWA = array();
$_DVWA[ 'db_server' ] = '127.0.0.1';
$_DVWA[ 'db_database' ] = 'dvwa';
$_DVWA[ 'db_user' ] = 'root';
$_DVWA[ 'db_password' ] = '123456';
$_DVWA[ 'db_port'] = '3306';
这个 reCAPTCHA key 可以访问 https://www.google.com/recaptcha/admin/create 来生成
$_DVWA[ 'recaptcha_public_key' ] = '6LdJJlUUAAAAAH1Q6cTpZRQ2Ah8VpyzhnffD0mBb';
$_DVWA[ 'recaptcha_private_key' ] = '6LdJJlUUAAAAAM2a3HrgzLczqdYp4g05EqDs-W4K';
4、浏览器访问http://127.0.0.1/DVWA,点击最下方的Create/Reset Database
5、默认账户和密码 admin/password
,登录后就可以愉快的玩耍了