【SRC】SQL注入快速判定与应对策略(一) 📅 发布时间:2026/7/8 15:20:14 👁️ 浏览次数: 极详深度笔记SQL注入快速判定与应对策略1. 简述与核心观念核心观念为何要做“人形扫描器”WAF现状现代WAF防火墙规则库非常完善常规扫描器如AWVS、AppScan的自动Payload如AND 11极易被拦截或封禁IP 。漏网之鱼老网站并非唯一目标新网站因开发人员疏忽如未覆盖所有参数、无法使用预编译的场景依然存在大量注入 。法律红线高危预警红线标准在SRC或授权测试中证明漏洞存在的边界是获取database()库名或user()当前用户。严禁操作严禁执行dump脱库、严禁读取公民个人信息、严禁在DELETE/UPDATE/INSERT业务点使用扫描器可能导致批量删库或垃圾数据污染。注入类型的深度分类按数据类型整型 (Integer)select * from users where id 1。参数直接参与运算无需闭合引号 。字符型 (String)select * from users where id 1。参数被引号包裹占比最高必须先闭合引号才能执行后续语句 。按位置常规GET/POST 参数。JSON注入常见于API接口需注意JSON格式破坏问题 。排序注入 (Order By)重难点。出现在ORDER BY后面。因为ORDER BY后的参数如果是字符串如1会导致排序功能失效所以开发人员往往无法使用预编译Prepare Statement只能直接拼接导致必然存在注入风险 。2. 常规注入手动判定无视WAF技巧整型判定 (Integer Injection)核心原理数据库会将数学运算结果作为参数值执行。WAF通常只拦截SQL关键字不拦截数字运算。减法运算首选推荐操作输入id2-1。现象如果页面返回的内容与id1的内容完全一致且与id2不同则证明数据库执行了减法运算存在注入 。加法运算避坑指南操作输入id11。坑点在 URL (GET请求) 中号会被浏览器解码为空格。因此传入后端的变成了id1 1导致测试失败 。修正必须对加号进行 URL 编码输入id1%2b1。若页面返回id2的内容则存在注入 。逻辑运算id1 and 11/id1 and 12。缺点AND是 WAF 的重点拦截对象容易触发拦截不如算术运算隐蔽。字符型四法快速判定核心技巧原理利用 SQL 语法的引号配对规则。此方法不使用AND、OR等敏感词误报率极低且能绕过绝大多数 WAF。假设后端 SQL 为SELECT * FROM table WHERE id 输入值输入(1个单引号)→\rightarrow→报错后端变成id 1解析3个单引号不成对导致 SQL 语法错误 。输入(2个单引号)→\rightarrow→正常后端变成id 1解析第一个引号是闭合第二个和第三个引号组成了空字符串或转义第四个是后端的闭合。语法合法逻辑通过 。输入(3个单引号)→\rightarrow→报错后端变成id 1解析5个单引号不成对语法错误 。输入(4个单引号)→\rightarrow→正常后端变成id 1解析两对空字符串语法合法 。判定结论只要符合“报错 - 正常 - 报错 - 正常”的规律90% 以上概率存在字符型注入。闭合与注释的细节--(MySQL注释符)SQL 标准注释是--(后面必须有一个空格)。在 URL 中空格若未编码容易丢失所以习惯用代替空格URL解码后为空格即--。#(Hash注释符)坑点在 URL 中#代表锚点Fragment不会发送给服务器。修正必须编码为%23才能被后端接收为注释符 。利用闭合绕过注释如果注释符被过滤可以使用或 and 11来手动闭合后端的单引号 。3. Order By 排序注入手动判定为什么 Order By 无法预编译预编译机制预编译将参数视为“值”而非“代码”。冲突点如果在ORDER BY ?中传入id数据库会将其解析为按照字符串 “id” 排序即所有行都一样而不是按照列名id排序。结果为了功能正常开发人员必须使用拼接从而导致注入 。四法快速判定 (利用多列排序特性)原理ORDER BY支持多列排序order by col1, col2。我们可以注入一个新的排序字段。Payload 构造流程假设注入点在order by后1 desc, 1→\rightarrow→正常回显含义先按第1列倒序如果有相同值再按第1列正序。逻辑合法 。1 desc, 0→\rightarrow→报错含义尝试按第0列排序。SQL中列号从1开始第0列不存在必报错 。1 desc, 2→\rightarrow→正常回显含义假设表中至少有2列逻辑合法 。1 desc, 9999→\rightarrow→报错含义尝试按第9999列排序超出列数范围必报错 。避雷与高级玩法不参与排序陷阱如果在ORDER BY后注入if(11,1,2)或sleep(5)这些函数会执行。但是函数的返回值通常被视为常量不会改变数据的排序顺序。误区不要试图观察“排序是否变化”来判断布尔盲注而应该直接观察是否报错或是否延时 。利用可以直接配合报错注入语句如updatexml在排序处直接获取数据 。4. JSON / Int类型 SQL注入实战原始类型与格式破坏场景API 接收 JSON 数据如{id: 1}。常见错误测试时直接输入{id: 1}。后果JSON 规范要求键值对格式严格。1不是合法的 JSON 数字或字符串导致 Web 服务器层如 Tomcat/Nginx/PHP解析器直接抛出JSON Format Error请求根本没传到数据库导致漏测 。正确姿势主动添加双引号策略主动将 Int 类型转换为 String 类型测试。Payload将{id: 1}修改为{id: 1}。先闭合 JSON 的双引号使其成为合法的 JSON 字符串。如果后端代码没有强制校验类型如(int)$id它会将字符串拼接到 SQL 中此时单引号生效触发注入 。转义细节如果在 Payload 中需要用到双引号必须使用\进行转义否则会破坏 JSON 结构 。XiaSql 插件辅助 (WAF不拦截原理)工作原理被动扫描插件监听 Burp 流量。判定逻辑发包 A插入→\rightarrow→记录响应包长度通常变短或报错。发包 B插入→\rightarrow→记录响应包长度通常恢复正常。对比若 A 与 B 的响应长度存在显著差异则判定疑似注入 。优势只发送单引号不发送SELECT、UNION等敏感词WAF 几乎不拦截。5. SQLmap 的高级使用模式基础与进阶指令GET型sqlmap -u url?id1。POST型 / 需鉴权型步骤在 Burp 中抓取完整数据包→\rightarrow→右键 “Copy to file” 保存为1.txt。指令sqlmap -r 1.txt。优势完美解决 Cookie、Header Token 等鉴权问题且能测试 JSON 或 Multipart 表单中的参数 。精准打击指令sqlmap -r 1.txt -p id。意义只测试id参数。避免全量扫描浪费时间适用于已知注入点的快速利用 。Shell 获取与提权 (高阶)--sql-shell提供交互式 SQL 环境。注意除非是堆叠注入Stacked Injection否则只能执行SELECT查询不能执行INSERT/UPDATE。--os-shell(获取系统Shell)MySQL 苛刻条件DB用户为 Root 权限拥有FILE权限。知道网站绝对路径物理路径。secure_file_priv为空允许向任意路径写文件默认是关闭的。原理上传两个文件一个小马用于文件上传一个用于执行 CMD 命令 。--os-pwn/ UDF 提权结合 Metasploit 进行 UDF 提权。注意集成环境如 phpStudy的 MySQL 往往被阉割可能导致提权失败 。严禁操作红线脱库--dump或--dump-all。除非红队明确授权否则在 SRC 挖掘中属于违法行为 。破坏性测试在增加、删除、修改Update/Insert/Delete的功能点绝对禁止使用 SQLMap 自动扫描否则可能导致生产环境数据全毁 。6. Xray - 无WAF环境下的最强扫描配置与联动 (指哪打哪)Xray 的 SQL 注入检测能力被认为是公开工具中最强的建议使用“被动扫描”模式。安装与证书运行xray genca生成 CA 证书。必须同时导入到操作系统受信任根证书和浏览器/Burp中 。开启监听xray webscan --listen 127.0.0.1:7777 --html-output report.html。Burp 联动配置 (核心步骤)在 Burp 中User Options-Upstream Proxy Servers。添加规则Destination:*Proxy:127.0.0.1:7777。效果浏览器操作→\rightarrow→Burp (可手动修改包)→\rightarrow→Xray (自动扫描)→\rightarrow→服务器。指定插件为了防止扫描动作过大导致封禁或业务崩溃建议只开启 SQL 插件--plugins sqldet。重要避坑测试结束后务必关闭 Burp 的 Upstream Proxy否则下次打开 Burp 会因为连不上 Xray 而导致所有请求失败断网。
Excel财务实战:零钞估算备用表制作全攻略 💰 一、业务场景:工资零钞准备系统 1.1 实际问题 假设您是一名财务人员,每月需要为员工发放现金工资。银行取款时需要准确知道每种面额的钞票各需要多少张,以便快速清点并减少找零麻烦。 1.2 数据模板 🧮 二、核心公… 2026/7/8 15:13:49
宏智树 AI:告别问卷设计雷区!从无效提问到专业量表,一篇教你搞定实证调研 作为深耕论文写作科普的教育博主,后台总能收到宝子们关于实证论文的灵魂拷问:❌“自己设计的问卷,导师说‘问题太主观,数据没法用’”❌“照搬别人的问卷,查重标红还缺乏研究针对性”❌“问卷收了上百份,分… 2026/7/8 16:49:58
豆瓣电影数据采集分析推荐系统 | Python Vue Flask LSTM Echarts 多维度分析人工智能 大数据 毕业设计源码 博主介绍:✌全网粉丝50W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战8年之久,选择我们就是选择放心、选择安心毕业✌ > 🍅想要获取完整文章或者源码,或者代做,拉到文章底部即可与… 2026/7/8 16:49:27
Unity动画事件实战指南:从原理到高级应用 1. 项目概述:动画事件——让动画“活”起来的灵魂 在Unity引擎开发中,动画系统是赋予游戏角色和物体生命力的核心。但一个只会机械重复动作的动画,就像一部没有台词的默片,缺乏与游戏世界互动的灵魂。而 动画事件 ,正… 2026/7/8 16:55:41
Godot游戏开发:资源加载性能优化实战指南 1. 项目概述:为什么Godot资源加载会成为性能瓶颈?做游戏开发,尤其是用Godot,资源加载这块儿绝对是绕不开的痛点。你肯定遇到过这种情况:场景切换时画面突然卡住,角色进入新区域时动作突然顿一下,… 2026/7/8 16:53:40
水下机器人仿真平台选型指南:AirSim与Unity3D深度对比 1. 项目概述:为什么水下机器人仿真如此重要? 如果你正在开发一款水下机器人,无论是用于科研、海洋工程还是水下娱乐,直接把它扔进海里测试,恐怕是成本最高、风险最大的选择。想象一下,一个价值几十万甚至上… 2026/7/8 16:53:40
Windows APK安装器:在电脑上轻松运行安卓应用的完整指南 Windows APK安装器:在电脑上轻松运行安卓应用的完整指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否想在Windows电脑上直接运行安卓应用… 2026/7/8 16:53:40
使用uesave工具深度解析与编辑虚幻引擎游戏存档 1. 项目概述:为什么我们需要一个存档编辑的“终极方案”? 作为一名在游戏开发和逆向工程领域摸爬滚打了十多年的老玩家,我见过太多因为一个存档文件而引发的“血案”。你可能正沉浸在某个虚幻引擎(Unreal Engine)打造的… 2026/7/8 16:53:40
Unity Shader进阶:从语法到引擎层原理与性能优化实战 1. 项目概述:深入Shader的“里世界”如果你已经跟着前两篇内容,把Shader的基础语法、光照模型和表面着色器都过了一遍,那恭喜你,你已经成功推开了Shader世界的大门。但门后的世界,远比门口看到的要复杂和精彩。这第三篇… 2026/7/8 16:51:39
BetterNCM安装器:高效管理网易云插件的最佳选择 BetterNCM安装器:高效管理网易云插件的最佳选择 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 还在为网易云音乐插件的繁琐安装流程而烦恼吗?BetterNCM安装器是… 2026/7/8 0:02:48
运动控制系统安全设置对比:ECI3808的3种限位保护与急停逻辑实现 运动控制系统安全机制深度解析:限位保护与急停逻辑的设计哲学在精密制造与自动化领域,运动控制系统的安全设计绝非简单的功能堆砌,而是一套融合了机械工程、电气原理和软件算法的防御体系。当一台数控机床以每分钟数万转的速度运转࿰… 2026/7/8 0:06:48
AI大模型应用开发:小白也能抓住的红利风口,收藏这篇入门指南! 文章指出,虽然微软等科技巨头在裁员,但英伟达等公司却在积极扩招AI相关人才,尤其是具身智能、仿真等领域。AI行业正在经历结构性调整,传统岗位被淘汰,而大模型应用开发等新岗位需求旺盛。对于想转行或学习AI的普通人来… 2026/7/8 0:10:49
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/7 11:26:57
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/7 11:26:57
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/8 14:25:08