1. SQL注入攻防实战环境搭建指南
作为Web安全领域的经典漏洞,SQL注入至今仍是OWASP Top 10的常客。要真正掌握这门手艺,光看理论远远不够——这就是为什么安全从业者都需要一个像SQLi-Labs这样的实战靶场。这个用PHP+MySQL搭建的专项训练平台,包含了从GET型到POST型、从报错注入到盲注的65个渐进式挑战关卡,堪称SQL注入的"百科全书"。
我第一次接触SQLi-Labs是在五年前的渗透测试项目中,当时客户系统存在显错注入漏洞却苦于没有测试环境验证攻击链。后来在团队内部搭建了这个靶场后,新人的SQL注入检测效率提升了300%。下面分享从零搭建到高阶通关的全套经验,包含那些官方文档没写的实战技巧。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境部署与基础配置
2.1 系统需求与组件安装
靶场运行需要LAMP/WAMP环境:
- PHP 5.4+/7.x(需开启mysql/mysqli扩展)
- MySQL 5.5+(建议5.7版本)
- Apache/Nginx(推荐Apache的mod_rewrite)
在Ubuntu 20.04上的快速部署命令:
bash复制sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql
git clone https://github.com/Audi-1/sqli-labs.git
sudo cp -r sqli-labs /var/www/html/
重要提示:务必修改
/sqli-labs/sql-connections/db-creds.inc中的数据库密码,默认的security密码极不安全
2.2 数据库初始化陷阱规避
初次访问http://localhost/sqli-labs时,页面会提示初始化数据库。这里90%的人会遇到两个坑:
- MySQL 8.0+默认使用caching_sha2_password认证,需改为mysql_native_password:
sql复制ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpassword';
