SQL注入靶场搭建
2026/7/25 4:50:48 网站建设 项目流程

SQL 注入靶场搭建 (SQLi-LABS)

环境要求

  • 操作系统: Windows 10/11
  • 集成环境: PHPStudy Pro
  • 靶场: SQLi-LABS

搭建步骤

1. 下载并解压 SQLi-LABS

SQLi-LABS 可以从 GitHub 下载:

官方地址:
https://github.com/Audi-1/sqli-labs

下载方式:

  1. 直接下载 ZIP:
    - 访问上面的 GitHub 地址
    - 点击绿色的 Code 按钮
    - 选择 Download ZIP
    - 解压到 D:\phpstudy_pro\WWW\ 目录
  2. 使用 Git 克隆(如果安装了 Git):
    cd D:\phpstudy_pro\WWW
    git clone https://github.com/Audi-1/sqli-labs.git sqli-labs-master

下载后的文件名:

  • ZIP 下载会得到 sqli-labs-master.zip
  • 解压后是 sqli-labs-master 文件夹

sqli-labs-master压缩包解压到 PHPStudy 的 WWW 目录:

D:\phpstudy_pro\WWW\sqli-labs-master\

2. 配置数据库连接

打开配置文件:

D:\phpstudy_pro\WWW\sqli-labs-master\sql-connections\db-creds.inc

修改数据库密码:

<?php$dbuser='root';$dbpass='你的数据库密码';// 修改这里$dbname='security';$host='localhost';?>

保存文件 (Ctrl+S)。

3. 配置 PHP 版本

选择 PHP 版本:

  • 打开 PHPStudy 管理面板
  • localhost网站选择PHP 5.2.17 nts
  • 注意: SQLi-LABS 不支持过高的 PHP 版本

4. 修改 PHP 配置

打开 php.ini:

D:\phpstudy_pro\Extensions\php\php-5.2.17\php.ini

修改魔术引号配置:

  • 搜索 (Ctrl+F):magic_quotes_gpc
  • magic_quotes_gpc = On改为magic_quotes_gpc = Off
  • 保存文件 (Ctrl+S)

为什么要关闭:

  • magic_quotes_gpc = On会自动转义单引号等特殊字符
  • 转义后无法演示 SQL 注入漏洞
  • 关闭后才能进行注入测试

5. 重启 PHPStudy

修改配置后,重启 Apache使配置生效。

6. 初始化数据库

访问地址:

http://localhost/sqli-labs-master/

点击 “Setup/reset Database for labs”初始化数据库。

成功标志:

Database created successfully

7. 显示 SQL 语句(可选 - 方便调试)

为了更直观地看到后端执行的 SQL 语句,可以修改源码:

打开文件:

D:\phpstudy_pro\WWW\sqli-labs-master\Less-1\index.php

在适当位置添加:

echo"SQL语句:".$sql."<br>";

添加位置示例:

// 原代码$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";// 在查询前添加echo"SQL语句:".$sql."<br>";// 添加这行// 执行查询$result=mysql_query($sql);

保存后刷新页面,就能看到实际执行的 SQL 语句。


验证安装

测试 Less-1

访问:

http://localhost/sqli-labs-master/Less-1/?id=1

正常显示:

Your Login name: Dumb Your Password: Dumb

测试注入:

http://localhost/sqli-labs-master/Less-1/?id=1'

应该报错:

You have an error in your SQL syntax

如果出现以上结果,说明靶场搭建成功!


常见问题

Q1: 访问页面空白或 500 错误

解决:

  • 检查 PHP 版本是否选择了 5.2.17
  • 检查 Apache 是否正常启动
  • 查看 PHPStudy 错误日志

Q2: 无法连接数据库

解决:

  • 确认 MySQL 已启动
  • 检查db-creds.inc中的密码是否正确
  • 尝试用 phpMyAdmin 登录验证密码

Q3: Setup Database 按钮无反应

解决:

  • 检查 MySQL 用户权限
  • 确保root用户有创建数据库的权限
  • 查看浏览器控制台是否有 JS 错误

Q4: 添加 echo 后页面报错

解决:

  • 确保添加在 SQL 查询语句定义之后
  • 检查 PHP 语法是否正确(分号、引号)
  • 查看 Apache 错误日志

Q5: magic_quotes_gpc 找不到

解决:

  • PHP 5.4+ 已移除该选项,无需配置
  • 如果使用更高版本 PHP,可能导致部分关卡无法演示
  • 建议使用 PHP 5.2.17 或 5.3.x

安全提醒

  • 仅用于学习: 本靶场仅用于学习 SQL 注入原理和防御方法
  • 不要部署到公网: SQLi-LABS 存在大量漏洞,切勿部署到互联网
  • 本地测试: 仅在本地环境或隔离的虚拟机中使用
  • 及时关闭: 学习完毕后及时关闭 PHPStudy 服务

日期: 2026-07
环境: Windows 11 + PHPStudy Pro + SQLi-LABS
参考资料: SQLi-LABS 官方文档


声明: 本文仅用于网络安全学习和研究,请勿用于非法用途。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询