1. 项目背景与核心价值
在网络安全领域,漏洞演示环境的搭建是安全研究人员和渗透测试工程师的必修课。不同于直接在生产环境进行测试,专用的漏洞演示环境能够让我们在合法合规的前提下,深入研究各类Web应用漏洞的形成原理、利用方式和防御措施。
这个项目要搭建的是一个典型的Wiki后台系统漏洞演示环境。选择Wiki系统作为演示对象有几个重要考量:首先,Wiki系统在企业内网中广泛使用,常存储敏感信息;其次,Wiki系统通常具有复杂的权限体系和内容管理功能,容易产生多种类型的安全漏洞;最后,在CentOS上部署能模拟大多数企业服务器的真实环境。
重要提示:所有漏洞演示必须在内网隔离环境进行,禁止在公网或未授权系统上实施任何安全测试
2. 环境准备与系统配置
2.1 基础环境搭建
我们选择CentOS 7作为基础操作系统,这是目前企业环境中仍广泛使用的稳定版本。以下是详细的初始化步骤:
# 更新系统基础组件 sudo yum update -y sudo yum install -y epel-release sudo yum groupinstall -y "Development Tools" # 安装必要依赖 sudo yum install -y httpd mariadb-server mariadb php php-mysql php-gd php-xml php-mbstring这里特别说明几个关键组件的选择原因:
- 使用MariaDB而非MySQL:完全兼容MySQL命令,且开源协议更友好
- PHP选择5.4版本:这是许多遗留Wiki系统运行的版本,包含更多已知漏洞
- 保留默认的httpd服务:更接近真实企业环境配置
2.2 安全基线配置
在搭建漏洞环境前,我们需要先做好基础防护,避免实验环境成为真正的安全风险:
# 配置防火墙基础规则 sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload # 禁用不必要的服务 sudo systemctl disable avahi-daemon sudo systemctl disable cups这些配置看似与漏洞演示无关,实则非常重要。在实际工作中,我们经常发现由于基础安全措施缺失,导致测试环境本身成为攻击入口的情况。
3. Wiki系统部署与漏洞植入
3.1 MediaWiki安装与配置
我们选择MediaWiki 1.28版本进行演示,这是包含多个经典漏洞的稳定版本:
wget https://releases.wikimedia.org/mediawiki/1.28/mediawiki-1.28.0.tar.gz tar -zxvf mediawiki-1.28.0.tar.gz sudo mv mediawiki-1.28.0 /var/www/html/wiki sudo chown -R apache:apache /var/www/html/wiki安装完成后,通过浏览器访问/wiki路径完成图形化安装。有几个关键配置项需要特别注意:
- 数据库配置使用默认的root空密码
- 关闭所有缓存功能
- 选择传统皮肤而非响应式皮肤
- 禁用文件上传验证
这些"不安全"的配置正是我们后续漏洞演示的基础。
3.2 典型漏洞场景构建
现在我们来植入几类典型漏洞:
SQL注入点构造: 编辑includes/api/ApiQuery.php文件,注释掉第342-345行的参数过滤代码。这将允许直接传递未过滤的SQL语句到查询中。
XSS漏洞构造: 修改includes/parser/Parser.php中的htmlSpecialChars函数调用,使其不对