文章总结: 该文档详细讲解SQL注入字符类型探测技术,重点分析单引号、双引号和反斜杠三种字符在字符串类型参数中的测试方法。通过6个具体示例演示不同输入导致的SQL语句变化及True/False判断逻辑,总结出转义符类探测容易被忽视但关键。文档包含实际可操作的注入探测技巧,并附带知识星球付费推广内容。 综合评分: 75 文章分类: WEB安全,渗透测试,漏洞分析,安全工具,实战经验
sql注入的字符类型的探测
原创
richardo1o1 richardo1o1
迪哥讲事
2026年5月20日 11:00 四川
在小说阅读器读本章
去阅读
正文
假设后端代码是:
SELECT * FROM users WHERE id = 'FUZZ'; 这里:
FUZZ 是用户输入
被包在 ‘ ‘ 单引号里 → 表示字符串类型
1️⃣ ‘ → False 输入:
‘ 拼接后 SQL:
SELECT * FROM users WHERE id = '';
解释:
原本是 ‘FUZZ’
你输入 ‘,变成 ”
这是一个空字符串
👉 结果:
语法是正确的
但通常查不到数据 → False(没效果)
2️⃣ ” → True 输入:
” 拼接后:
SELECT * FROM users WHERE id = '''';
看起来复杂,其实数据库解析为:
id = ” 原因:
SQL 中 ” 表示一个 ‘ 字符
所以不会破坏语法
👉 结果:
语句依然合法
有时可用于构造 payload
3️⃣ ” → False 输入:
” 拼接后:
SELECT * FROM users WHERE id = '"'; 解释:
” 在 SQL(MySQL)里通常只是普通字符(除非特殊模式)
不会结束 ‘
👉 结果:
不影响 SQL 结构
无法注入 → False
4️⃣ “” → True 输入:
“” 拼接后:
SELECT * FROM users WHERE id = '""';
👉 解释:
只是字符串 ” “,没有语法问题
和 ” 类似
👉 标 True 的原因通常是:
用于测试输入是否被过滤
或是否允许双引号
5️⃣ \ → False 输入:
拼接后:
SELECT * FROM users WHERE id = '\'; 问题来了:
\ 在很多数据库中是转义符
‘ 表示“转义单引号”
这里:
” 👉 实际变成:
转义了后面的 ‘
字符串没有正常结束
👉 结果:
语法错误
SQL 报错 → False
6️⃣ \ → True 输入:
\ 拼接后:
SELECT * FROM users WHERE id = '\\'; 解释:
第一个 \ 转义第二个 \
实际表示一个 \ 字符
👉 字符串正确闭合:
id = ” 👉 结果:
SQL 正常执行 → True
总结
总共三类:
1.单引号
2.双引号
3.\
注意第三类,往往会被忽视
如果你是一个长期主义者,欢迎加入我的知识星球,本星球日日更新,包含号主大量一线实战,全网独一无二,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款
往期回顾
#
如何利用ai辅助挖漏洞
#
如何在移动端抓包-下
#
如何绕过签名校验
#
一款bp神器
挖掘有回显ssrf的隐藏payload
ssrf绕过新思路
一个辅助测试ssrf的工具
dom-xss精选文章
年度精选文章
Nuclei权威指南-如何躺赚
漏洞赏金猎人系列-如何测试设置功能IV
漏洞赏金猎人系列-如何测试注册功能以及相关Tips
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:迪哥讲事 richardo1o1 richardo1o1《sql注入的字符类型的探测》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论