欢迎光临
我们一直在努力

SQL注入靶场搭建

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

环境要求

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

搭建步骤

1. 下载并解压 SQLi-LABS

SQLi-LABS 可以从 GitHub 下载:

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

下载方式:

  • 直接下载 ZIP:
    – 访问上面的 GitHub 地址
    – 点击绿色的 Code 按钮
    – 选择 Download ZIP
    – 解压到 D:\\phpstudy_pro\\WWW\\ 目录
  • 使用 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 官方文档


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

    赞(0)
    未经允许不得转载:171主机测评 » SQL注入靶场搭建
    分享到: 更多 (0)

    评论 抢沙发

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