一、环境
虚拟机:Virtual Box
虚拟机操作系统:Debian10
二、简介
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is damn vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, help web developers better understand the processes of securing web applications and aid teachers/students to teach/learn web application security in a class room environment.
官网:https://dvwa.co.uk/
GitHub:https://github.com/digininja/DVWA
WiKi:https://github.com/digininja/DVWA/wiki
三、安装
1. 安装MySQL
由于MySQL被收购了(现在都用他的一个分支MariaD来代替MySQL),所以无法直接用APT命令通过源进行下载,所以我们需要先安装MySQL APT Repo(sitory)
-
打开MySQL官网
-
选择MySQL Community Server
-
选择你的服务器版本(这里我用的是Debian)
-
点击进入下载界面
-
点击"Download"
-
右键点击"No thanks, just start my download."选择在新标签页中打开
-
使用
wget https://dev.mysql.com/get/mysql-apt-config_0.8.18-1_all.deb
命令下载mysql-apt-config
-
使用
sudo apt-get install ./mysql-apt-config_0.8.18-1_all.deb -y
命令安装MySQL APT Repo
-
配置mysql-apt-config
在上一步的命令运行完之后,会自动弹出如下界面,根据你的操作系统版本进行选择即可
因为我的虚拟机操作系统是Debian10 所以我选择Debian Buster
具体的发行版目录可看官Debian官网:https://www.debian.org/releases/index.zh-cn.html
配置基础信息(MySQL的版本啊、工具啊、预览包啊、连接器啊之类的)这里默认即可
再次选择"OK",弹出一条警告 可以忽略不管
-
使用命令
sudo apt update && sudo apt upgrade
检查与更新软件(也可以不更新,但必须要检查),可以看到已经有MySQL的源了,是否更新软件你自己决定
-
使用命令
sudo apt-get install mysql-server
安装MySQL,可以看到其实将 mysql-client、mysql-community-client、mysql-community-server、Perl等都一并安装了
-
mysql-community-server配置Root密码
上一步安装完毕后会自动弹出下图界面
确认Root密码,设置密码强度 选默认择第一个即可
至此,MySQL安装完毕,安装好Debian10会自动启动MySQL,并且设置开机自启
2. 安装Apache2、PHP及PHP相关模块
- 使用APT命令
sudo apt-get install apache2 php php-gd php-mysql
安装apache2、php、php-gd、php-mysql,至于最后俩个模块php-gd 和 php-mysql为什么要安装后面图片上会有暗示 仔细看仔细思考哦
3. 安装DVWA
-
下载DVWA,官网:https://dvwa.co.uk/,右键点击Downloa选择新标签页中打开可以得到入下图中的命令URL参数,使用
wget https://github.com/digininja/DVWA/archive/master.zip
命令下载文件
-
解压到网站根目录,这一步使用的命令为
sudo unzip master.zip -d /var/www/html
,如果你的当前所在文件夹路径和我下图中的不一样也没关系,确保当前目录为master.zip所下载的目录即可
3. 进入网站根目录将解压后的文件夹中的内容移动到html文件夹
cd /var/www/html
sudo rm index.html
sudo mv DVWA-master/* .
sudo rm -rf DVWA-master
-
配置DVWA,注意配图中的当前所在文件夹路径,执行命令
sudo vi ./config/config.inc.php.dist
-
修改下图绿色下划线部分
注意:db_password就是你安装MySQL时设置的root密码
上图蓝色下划线部分的网站就是蓝色下划线下面俩条绿线的key的申请网站
修改好后可以用 ESC键 加 :wq 保存退出
-
修改DVWA配置文件的后缀名(注意配图中的当前所在文件夹路径),执行命令
sudo mv ./config/config.inc.php.dist ./config/config.inc.php
-
配置php.ini,注意配图中的当前所在文件夹路径,执行命令
sudo vi /etc/php/7.3/apache2/php.ini
输入"/allow_url_include"
将其allow_url_include的值改为On
输入"/pdo_mysql"
将"extension=pdo_mysql"前的冒号(注释)去掉
# 修改目录权限
sudo chmod 777 ./hackable/uploads
sudo chmod 777 ./external/phpids/0.6/lib/IDS/tmp/phpids_log.txt
sudo chmod 777 ./config
使用命令sudo /etc/init.d/apache2 restart
重启Apache2服务
-
使用命令
ip addr
查看本虚拟机的ip地址
-
查看DVWA配置情况
浏览器输入上一步看到的ip地址
可以看到上图显示"Unable to connect to the database"
导致这样的原因可以百度 如果你按照我的步骤走的 则参照下一步的操作
-
配置MySQL数据库
使用命令mysql -u root -p
登录MySQL
# 执行如下命令
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
FLUSH PRIVILEGES;
// 此代码参考CSDN文章:https://blog.csdn.net/weixin_40208575/article/details/84961976
-
DVWA创建数据库
点击Create/Reset Database
-
显示如图所示即为成功,点击"Login"就可以跳转到登录啦!!!
-
登录DVWA
用户名:admin 密码:password
其实DVWA有5个默认的用户哦 以后自己慢慢探索吧
-
成功进入DVWA
开始你的Hack学习之旅吧~