SQL注入靶场搭建
SQL 注入靶场搭建 (SQLi-LABS)环境要求操作系统: Windows 10/11集成环境: PHPStudy Pro靶场: SQLi-LABS搭建步骤1. 下载并解压 SQLi-LABSSQLi-LABS 可以从 GitHub 下载官方地址:https://github.com/Audi-1/sqli-labs下载方式:直接下载 ZIP:- 访问上面的 GitHub 地址- 点击绿色的 Code 按钮- 选择 Download ZIP- 解压到 D:\phpstudy_pro\WWW\ 目录使用 Git 克隆如果安装了 Git:cd D:\phpstudy_pro\WWWgit 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$dbuserroot;$dbpass你的数据库密码;// 修改这里$dbnamesecurity;$hostlocalhost;?保存文件 (CtrlS)。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修改魔术引号配置:搜索 (CtrlF):magic_quotes_gpc将magic_quotes_gpc On改为magic_quotes_gpc Off保存文件 (CtrlS)为什么要关闭:magic_quotes_gpc On会自动转义单引号等特殊字符转义后无法演示 SQL 注入漏洞关闭后才能进行注入测试5. 重启 PHPStudy修改配置后重启 Apache使配置生效。6. 初始化数据库访问地址:http://localhost/sqli-labs-master/点击 “Setup/reset Database for labs”初始化数据库。成功标志:Database created successfully7. 显示 SQL 语句可选 - 方便调试为了更直观地看到后端执行的 SQL 语句可以修改源码打开文件:D:\phpstudy_pro\WWW\sqli-labs-master\Less-1\index.php在适当位置添加:echoSQL语句.$sql.br;添加位置示例:// 原代码$sqlSELECT * FROM users WHERE id$id LIMIT 0,1;// 在查询前添加echoSQL语句.$sql.br;// 添加这行// 执行查询$resultmysql_query($sql);保存后刷新页面就能看到实际执行的 SQL 语句。验证安装测试 Less-1访问:http://localhost/sqli-labs-master/Less-1/?id1正常显示:Your Login name: Dumb Your Password: Dumb测试注入:http://localhost/sqli-labs-master/Less-1/?id1应该报错: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 官方文档声明: 本文仅用于网络安全学习和研究请勿用于非法用途。