mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4
456 字
1 分钟
SQL注入漏洞复现实验
2026-06-09

本地SQL注入漏洞复现实验 项目名称:本地SQL注入漏洞复现实验 技术栈:PHP + MySQL + phpStudy 过程:

  1. 搭建本地Web环境,部署含漏洞的PHP⻚面;
  2. 通过构造恶意参数(如 id=1’ OR ‘1’=‘1— )实现未授权数据查询;
  3. 验证MySQL文件读写权限对安全的影响。 收获:深入理解SQL注入成因,掌握基础漏洞验证方法。 💪 最后鼓励
  4. 环境搭建 ● 工具: phpStudy Pro (集成 Apache + MySQL + PHP) 操作: ● 启动 Apache 和 MySQL 服务 ○ ○ 创建站点:域名 192.168.1.100 ,端口 82 ,根目录 C:/phpstudy_pro/WWW/stu dy ○ 创建数据库:密码设为 rootroot
  5. SQL注入原理 根本原因:用户输入直接拼接到SQL语句中,未做过滤或转义。 ● 危险代码示例: php 编辑 ● 1 id=id = _GET[‘id’] ?? ‘1’; 2 sql="SELECTFROMnewsWHEREid=sql = "SELECT * FROM news WHERE id=id”; // ❌ 直接拼接 3 攻击方式: ● ○ 输入 1’ OR ‘1’=‘1 → 绕过条件,查出所有数据 ○ 输入 1; DROP TABLE news— → 执行多条语句(堆叠注入)
  6. 权限与文件读写 58

MySQL 用户权限决定能否: ● ○ 读取服务器文件( LOAD_FILE() ) ○ 写入 Webshell( INTO OUTFILE ) ● 前提:MySQL 配置允许( secure_file_priv 为空或指定目录) 4. 跨库查询 ● 如果当前数据库用户有权限访问其他库,可用 库名.表名 查询: sql 编辑 1 id=id = _GET[‘id’] ?? ‘1’; 2 sql="SELECTFROMnewsWHEREid=sql = "SELECT * FROM news WHERE id=id”; // ❌ 直接拼接 3 5. 你的实操发现 创建站点时必须先启动 Apache 和 MySQL ● ● 根目录初始只有 .htaccess ,说明是空站,需手动部署代码 数据库需单独创建,不能自动关联 ● 59

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

SQL注入漏洞复现实验
https://lansame.top/posts/sqli-lab/
作者
Lansame
发布于
2026-06-09
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录