引子
dvwa搭建过很多次了,这次准备0开始搭建一次。本文将会从一台centos裸机开始,搭建出dvwa靶场。
为了简化部分服务的枯燥安装,且复合中国特色,本文会使用bt面板。官方推荐XAMPP
前排提醒:本文有点抽象,在意的集美集帅们请轻按键盘上的ctrl+w
后记:
搭到一半,bt默认有些安全措施,导致dvwa初始化出现了各种问题。枯啦😥,越写越抽象,心态崩了。55555
centos虚拟机安装(pve)
没有使用pve的同志可以跳到centos的安装部分,使用vps或者实体鸡的大佬可以直接跳过了
虚拟机创建



以上是基本配置,部分简单的操作这里就不截图了
我们在安装时就将网卡配置好,免得后面再手动配置

配置root密码

本地ssh配置(非必需,可以跳过)
为了更快捷的连接我们的dvwa主机,对自己电脑中的ssh进行配置。记得上传公钥

这样就可以使用ssh dvwa愉快的连接辣
如果你对ssh配置不感兴趣,这一步你可以跳过
宝塔安装
前排提醒:安装前你无需对centos进行任何操作,宝塔安装脚本会帮你换源。你也无需担心找不到curl命令。即使是最小安装的centos,curl命令也是会有的。

id:: 6737337b-8018-4a31-b213-7fafa9020684
复制连接,粘贴到终端中运行
1 | url=https://download.bt.cn/install/install_lts.sh;if [ -f /usr/bin/curl ];then curl -sSO $url;else wget -O install_lts.sh $url;fi;bash install_lts.sh ed8484bec |

输入y确定
接下来就是等待

出现这个说明你已经成功安装了bt,接下就去愉快的安装lnmp吧
这个信息建议保存,不保存的话忘记了也能重置
使用浏览器进入面板地址
登陆成功后bt会让你绑定账号

老老实实绑定吧骚年
lnmp安装

当你绑定完成账号后,bt就热情的推荐你安装lnmp,直接无脑一键安装
这个步骤有点慢,这个时候你可以去下载dvwa的源码
友情提示: php版本请使用7.3以上,dvwa在7.3以下有问题。
dvwa安装
本文采用源码安装,dvwa提供了安装脚本,也有docker镜像。但是俺不得,就用源码装。
源码下载
gayhub下载地址
Releases · digininja/DVWA · GitHub
上传源码
这一步有n种方法传上去,这里我们使用bt自带的文件管理上传

解压缩

创建站点
添加站点

域名这里我们写自己的ip地址,根目录选择解压后的dvwa的目录。
创建一个数据库,为了方便账号密码这里使用的是dvwa配置文件中默认的。如果你想要个性化,后面还需要修改dvwa对应的配置文件。

测试可达性
访问http://192.168.0.124
这里要替换成你的ip啊!!!! 😠
不出意外,你的dvwa就可以正常使用了
如果有意外(实际上根据上面的教程来百分百会出意外😁),请参考: 可能会遇到的问题
初始化dvwa

先不要着急点击创建数据库,看到红色的没有。请先解决。参考: 可能会遇到的问题
bt是作为建站使用的,会默认禁用很多php的危险函数,首先我们要先对这些危险函数放行。参考: 可能会遇到的问题

当红字都解决了,你就可以愉快的点击Create / Reset Database按钮辣😁
这个时候你可能会狂点,发现它好像不起作用。不要点辣,重新访问一下login.php试试

现在你可以,dvwa启动了
可能会遇到的问题
宝塔安装时yum被占用了5555
具体情况是这样
1 | Another app is currently holding the yum lock; waiting for it to exit... |
这是脚本在安装其他软件,我这个状态是sleeping,可以先给他停止了,虽然不知道会出什么问题..
比较稳妥的方法,使用ps看看是他在干什么
1 | ps -elf | grep 9557 |
以我的这个为例,yum正在安装polkit,等会脚本结束如果没有这个软件,我再手动给他装上就行了
首次访问dvwa报错,不想玩辣
DVWA System error config file not found. Copy
config/config.inc.php.dist to config/config.inc.php and configure to
your environment.

字面意思,按照他教你的方法做,将config/config.inc.php.dist 拷贝一份到config/config.inc.php
你可以用bt的文件管理来做这件事情
bt太安全辣让我的php网站很难被攻击(删除php禁止函数)

选择你建站时使用的php版本。
我有这么多php,是因为踩了很多坑,挨个都尝试了一遍 😢

拿起你的鼠标挨个删除吧
其实可能有更简便的方法来删除,但是我已经挨个点完了,所以你也要点🤓
初始化时出现了很多红字字🤬丸辣,启用某些配置
你的红字可能不一样,这里仅介绍将Disabled的红字变成绿色的Enabled


仍然选择你对应的版本


搜索你对应的红色字的东西,把它后面的Off改成On


改完之后重启PHP,重启中间件
如果仍然是红的,那么请修改dvwa根目录下的php.ini

初始化时reCAPTCHA key: Missing
这个是验证码靶场用的,需要去咕噜咕噜申请验证码的key,不使用这个靶场可以忽略。🪿且咱们搭建在内网,没法申请这个key。如果你搭建在公网上,请自行参考dvwa文档
参考
宝塔面板 简单好用的Linux/Windows服务器运维管理面板
Releases · digininja/DVWA · GitHub