欢迎光临
我们一直在努力

[从零搭建 Web 漏洞靶场:VAuditDemo 在 CentOS 上的部署实战]

//VAuditDemo是一个专门用于Web漏洞攻防演练的综合性靶场//

环境准备:

  • 操作系统:CentOS 7/8

  • Web 环境:XAMPP(已安装并配置好)

  • 靶场源码:VAuditDemo

(1)官网下载安装包https://github.com/1stPeak/VAuditDemo (点击绿色按钮)

(2)使用xftp将安装包上传到CentOS的“/opt/lampp/htdocs”目录下(直接从拖动文件夹到右边)

下载后会得到一个 VAuditDemo-master.zip 文件,里面包含两个核心目录:

  • VAuditDemo_Release —— 发布版(用于正式部署)

  • VAuditDemo_Debug —— 调试版(带详细错误提示,适合学习)

(3)解压缩,并修改文件夹名称为“vaudit”

cd  /opt/lampp/htdocs

unzip VAuditDemo-master.zip

mv VAuditDemo-master vaudit

(4) 确认 VAuditDemo_Release 在哪里,将发布版的文件移到当前目录

find . -name "VAuditDemo_Release" -type d

mv ./VAuditDemo-master/VAuditDemo_Release/* ./

验证 mv 命令是否成功,可以使用以下两个命令

# 查看源目录是否还有内容
ls -la ./VAuditDemo-master/VAuditDemo_Release/

如果目录为空(只有 . 和 ..),说明所有文件都被移动了

或:

# 查看当前目录的文件和目录数量
ls -la

若成功应该能看到 index.php、sys、install 等 VAuditDemo 的核心文件

(5)创建“uploads”目录,并赋予其“读写执行”权限,赋予“sys”目录“读写执行”权限

# 1. 创建 uploads 目录
mkdir uploads

# 2. 设置 uploads 目录权限(读写执行)
chmod 777 uploads/

# 3. 设置 sys 目录权限(读写执行)
chmod 777 sys/

执行以下命令验证权限是否正确设置:

# 查看目录和文件的权限
ls -ld uploads/
ls -ld sys/

(6)设置目录,VAuditDemo需要安装在网站的根目录下,要求根目录设置为/opt/lampp/htdocs/vaudit目录,采用在系统中添加新的VHosts虚拟主机来处理

⚠️先备份 ⚠️先备份 ⚠️先备份

cp httpd.conf httpd.conf.bak

① 修改“/opt/lampp/etc/httpd.conf”文件,在该文件中按“/”搜索“Listen 80”,下面添加VAudit端口“Listen 81”,再按“/”搜索“vhosts”,将这一行前面的“#”删除,保存退出(按“i”进行编辑,esc退出编辑,输入”:wq”退出

sudo vi /opt/lampp/etc/extra/httpd-vhosts.conf

②修改“/opt/lampp/etc/extra/httpd-vhosts.conf”文件,用“#”注释掉已有的“*:80”模板内容,再添加新增监听端口“81”,设置网站根目录“/opt/lampp/htdocs/vaudit”

验证配置

#检查 Apache 配置文件语法
sudo /opt/lampp/bin/apachectl -t

输出 Syntax OK即成功

(7)设置防火墙,打开81端口

firewall-cmd –permanent –add-port=81/tcp

systemctl restart firewalld

(8)修改“/opt/lampp/htdocs/vaudit/sys/config/php”文件,并配置数据库密码

# 查找配置文件
find /opt/lampp/htdocs/vaudit -name "config.php" -o -name "config.inc.php" 2>/dev/null
# 编辑配置文件
sudo vi /opt/lampp/htdocs/vaudit/sys/config.php

(9)重启XAMPP

#重启XAMPP
/opt/lampp/xampp restart

警告信息不影响使用,但可以修复,以下是解决方法

# 修复 my.cnf 文件权限(移除全局写权限)
sudo chmod 644 /opt/lampp/etc/my.cnf

# 验证权限已修复
ls -la /opt/lampp/etc/my.cnf

# 检查 Apache 和 MySQL 是否正常运行
sudo /opt/lampp/lampp status

# 检查 81 端口是否监听
sudo netstat -tlnp | grep :81

⚠️81 端口还没有监听,说明 Apache 没有加载虚拟主机配置①

①检查 Apache 配置

# 1. 检查 httpd.conf 中是否有 Listen 81
sudo grep "Listen" /opt/lampp/etc/httpd.conf | grep -v "^#"

# 2. 检查虚拟主机配置是否存在且正确
sudo cat /opt/lampp/etc/extra/httpd-vhosts.conf

# 3. 检查 Include 语句
sudo grep "vhosts" /opt/lampp/etc/httpd.conf | grep -v "^#"

②重新配置

# 1. 确保 Listen 81 存在
sudo sed -i '/^Listen 80$/a Listen 81' /opt/lampp/etc/httpd.conf

# 2. 创建干净的虚拟主机配置
sudo tee /opt/lampp/etc/extra/httpd-vhosts.conf << 'EOF'
NameVirtualHost *:81

<VirtualHost *:81>
DocumentRoot "/opt/lampp/htdocs/vaudit"
ServerName localhost
<Directory "/opt/lampp/htdocs/vaudit">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
EOF

# 3. 确保 Include 未被注释
sudo sed -i 's/^#Include etc\\/extra\\/httpd-vhosts.conf/Include etc\\/extra\\/httpd-vhosts.conf/' /opt/lampp/etc/httpd.conf

# 4. 验证配置
sudo /opt/lampp/bin/apachectl -t

③如果语法正确,重启并验证

# 1. 完全停止 Apache
sudo /opt/lampp/lampp stopapache

# 2. 手动启动 Apache 查看错误信息
sudo /opt/lampp/bin/apachectl start

# 3. 检查端口
sudo netstat -tlnp | grep httpd

可以看到

✅ Apache 正常运行

✅ 80 端口监听中

✅ 81 端口监听中

✅ VAuditDemo 虚拟主机已配置

(10)访问http://192.168.x.x/vaudit/install/install.php(CentOS服务器IP地址以实际IP地址填写)

⚠️404 Not Found → 检查是否混淆了端口与路径,确认访问地址为 IP/vaudit/install/install.php

底部输入数据库密码并安装

(11)访问http://192.168.x.x:81,打开界面如下

恭喜😃,安装成功

**参考**:《Web安全攻防实战教程》中关于 VAuditDemo 部署的流程,本文在此基础上进行了实践补充。

赞(0)
未经允许不得转载:171主机测评 » [从零搭建 Web 漏洞靶场:VAuditDemo 在 CentOS 上的部署实战]
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址