Web安全基础靶场环境搭建实战

在学习Web安全漏洞(如SQL注入、XSS等)之前,搭建一个稳定且可控的本地靶场环境是必不可少的步骤。本实验将指导你基于WAMP架构完成PHP CMS、SQLi-Labs以及Pikachu靶场的部署与排错。

实验环境

  • 操作系统: Windows 10 / Windows Server
  • 集成环境: PhpStudy (集成 Apache, MySQL, PHP)
  • 靶场源码: PHP CMS v9, SQLi-Labs, Pikachu

一、WAMP 架构与 PhpStudy 部署

WAMP(Windows + Apache + MySQL + PHP)是经典的Web开发环境。

  1. 安装 PhpStudy: 下载并安装 PhpStudy,这能极大简化各组件的配置流程。
  2. 启动服务: 在 PhpStudy 面板中启动 Apache 和 MySQL 服务。若遇到端口冲突(如本地已安装MySQL),建议停止本地服务,统一使用 PhpStudy 自带的 MySQL。
  3. 网站根目录: 默认情况下,所有网站源码应放置在 PhpStudy 的 www 目录下。

二、PHP CMS v9 环境搭建与排错

部署真实的CMS系统有助于理解“N类打击”渗透思路及目录权限问题。

  1. 源码解压:phpcms-master 压缩包解压至 www/phpcms 目录。
  2. 访问安装引导: 在浏览器访问 http://localhost/phpcms/install 进入安装页面。
  3. 目录权限修正(常见报错):
    • 若安装过程中提示 cachehtmluploadfile 等目录不可写,需在对应路径下手建缺失文件夹。
    • 在Linux环境下,需利用 chmod 0777 修正权限;Windows下需取消文件夹的“只读”属性。
  4. 数据库初始化: 配置数据库主机(localhost)、端口(3306)、用户名(root)及密码,并设置后台管理员账号(如admin/admin888)。

渗透提示:通过CMS指纹识别,攻击者常利用此类开源系统的已知通用漏洞(如后台弱口令、无验证码缺陷)进行批量自动化攻击。

三、SQLi-Labs 靶场搭建

SQLi-Labs是学习SQL注入最权威的闯关靶场。

  1. PHP版本兼容性: SQLi-Labs 源码较老,使用新版PHP(如PHP 7+)运行会报错。必须在 PhpStudy 中将 PHP 版本切换至 5.5.38 或更低版本。
  2. 配置数据库连接: 打开源码目录下的 sql-connections/db-creds.inc 文件,修改其中的数据库用户名和密码,使其与本地 MySQL 配置一致。
  3. 初始化数据库: 访问靶场首页,必须点击 Setup/reset Database 链接初始化数据库表结构,否则后续关卡无法正常加载数据。

四、Pikachu 靶场搭建

Pikachu 包含了XSS、CSRF、文件上传等丰富的综合漏洞。

  1. 源码部署: 从 GitHub 下载 Pikachu 源码并解压至 www/pikachu 目录。
  2. 配置连接: 修改 inc/config.inc.php 文件中的数据库账号密码。
  3. 初始化安装: 访问 http://localhost/pikachu,点击首页的红色提示链接进行数据库初始化安装。

完成以上靶场的搭建后,即可开始针对各类Web漏洞的手工验证与实战演练。请确保所有测试仅在本地授权环境中进行。