一、什么是DVWA
Damn Vulnerable Web Application (DVWA)(译注:可以直译为:”该死的”不安全Web应用程序),是一个编码差的、易受攻击的 PHP/MySQL Web应用程序。 它的主要目的是帮助信息安全专业人员在合法的环境中,练习技能和测试工具,帮助 Web 开发人员更好地了解如何加强 Web 应用程序的安全性,并帮助学生和教师在可控的教学环境中了解和学习 Web 安全技术。
DVWA的中文介绍见 https://github.com/digininja/DVWA/blob/master/README.zh.md
下载地址:git clone https://github.com/digininja/DVWA.git
二、环境准备
1、LAMP环境安装
DVWA的安装依赖的软件包如下:
- apache2
- libapache2-mod-php
- mariadb-server
- mariadb-client php
- php-mysqli php-gd
就是依赖于LAMP环境,可以参考官方文档一个依赖包手工安装也可以通过下载lamp统一安装脚本一键安装。
安装 - LAMP一键安装包
运行 wget -c http://soft.vpser.net/lnmp/lnmp1.6.tar.gz && tar zxf lnmp1.6.tar.gz && cd lnmp1.6 && ./install.sh lamp
一路回车选择默认项,稍等片刻,即可完成安装
如果是手工安装:yum install -y httpd php php-mysql php-gd mariadb-server mariadb
三、安装DVWA
1、下载DVWA的软件包
进入到默认的web发布目录
1 | cd /var/www/html |
直接通过地址访问DVWA
他会提示需要将config/config.inc.php.dist复制成config/config.inc.php并配置环境
1 | cp config.inc.php.dist config.inc.php |
2、配置数据库
1 | vim config.ini.php |
找到数据库的配置信息
1 | $_DVWA = array(); |
根据config.inc.php的数据库配置信息配置数据库,注意不要用root来访问数据库。
先用客户端工具创建dvwa的数据库,再创建dvwa的用户
1 | grant all on dvwa.* to 'dvwa'@'localhost' identified by 'p@ssw0rd' with grant option; |
登录数据库查看
1 | mysql -u dvwa -p |
3、修改php.ini的配置
再次访问DVWA
这里提示要修改php.ini的配置将 allow_url_fopen=On
和allow_url_include=On
。
找到环境的php.ini我这里是在/etc/php.ini进行修改,不要修改/var/www/html/DVWA/php.ini中的配置了。
配置好后重启apache
1 | systemctl restart httpd |
刷新浏览器,可以看到红色的Disabled告警消失了。
reCAPTCHA key: Missing 这个告警是因为reCAPTCHA没有配置,这个需要去谷歌的网站申请公钥和私钥。可以不用管
1 | # ReCAPTCHA settings |
1 | chmod 777 -R hackable |
4、创建数据
配置完后点击“Create/Reset Database”
5、登录靶机
DVWA的默认用户名和密码是admin /password
登录成功后就可以开始进行靶机的实验了。
后续我们将通过Open-WAF来搭建一个WAF来防护这个靶机感受一下软waf的防护情况。
作者博客:http://xiejava.ishareread.com/
关注:微信公众号,一起学习成长!