SQL注入之堆叠查询注入学习笔记
一、什么是堆叠查询注入堆叠查询注入是SQL注入中比较特殊的一种类型。它的核心逻辑是在原有的SQL语句结束后使用分号;作为分隔符将多条SQL语句拼接在一起执行。 与之前学过的所有注入类型都不同堆叠查询注入的目标不再是“获取数据”而是“执行多条任意SQL语句”。堆叠查询注入的适用场景堆叠查询注入在以下场景中特别有效目标数据库支持多语句执行MySQL的mysqli扩展默认支持PDO默认不支持注入点位于SQL语句的末尾可以闭合后添加新语句攻击者希望执行数据操作增删改查或提权操作目标网站的数据库用户有较高的执行权限堆叠查询注入的核心要素堆叠查询注入需要满足以下几个条件注入点存在且能够正常闭合原有SQL语句数据库驱动支持多语句执行当前数据库用户有执行多条语句的权限攻击者能够获取到新语句执行后的结果或观察到执行效果堆叠查询注入与联合查询注入的本质区别联合查询注入和堆叠查询注入虽然都涉及多条SQL语句但它们的本质完全不同。联合查询注入的 UNION SELECT 是在一条 SELECT 语句内部将两个查询结果合并最终数据库只执行了一条 SELECT 语句。而堆叠查询注入是通过分号将多条完整的SQL语句串联数据库会依次执行每一条语句。两者的攻击目标和实现方式都有根本性的差异。二、堆叠查询注入的基本原理1 . 分号的作用在SQL中分号;是语句结束的标志。在支持多语句执行的数据库中多个以分号分隔的SQL语句可以依次执行。正常SQL语句SELECT*FROMusersWHEREid1堆叠查询注入后的SQL语句SELECT*FROMusersWHEREid1;DROPTABLEusers;当数据库执行这个语句时会先执行 SELECT 查询然后再执行 DROP TABLE 删除表操作。2 .堆叠查询注入的典型Payload查询数据id1;SELECT*FROMadmin插入数据id1;INSERTINTOadmin(username,password)VALUES(hacker,123456)修改数据id1;UPDATEadminSETpassword123456WHEREusernameadmin删除数据id1;DELETEFROMadminWHEREusernameadmin创建表id1;CREATETABLEtest(idINT,nameVARCHAR(100))删除表id1;DROPTABLEtest3 . 堆叠查询注入的信息获取方式堆叠查询注入的一个显著特点是后续语句的执行结果通常不会直接返回到页面上。如果执行的是 SELECT 语句查询结果可能不会显示如果执行的是 INSERT、UPDATE、DELETE、DROP 等操作只能通过观察页面变化或数据库变化来判断是否执行成功。获取执行结果的方法· 观察页面是否出现变化如数据被修改后的显示变化· 观察数据库中的数据是否被修改· 通过报错信息判断语句是否执行成功· 结合其他注入手法如联合查询、报错注入来读取执行结果在某些情况下如果堆叠查询注入配合文件操作可以将查询结果写入服务器上的文件中然后通过访问该文件来获取数据。三、不同数据库对堆叠查询注入的支持情况堆叠查询注入并非在所有数据库中都能使用不同数据库的支持程度差异很大。1 .MySQLMySQL的多语句执行取决于数据库驱动。使用 mysqli 扩展时默认支持多语句执行通过 mysqli_multi_query() 函数而使用 PDO 时默认不支持需要在连接时设置 PDO::MYSQL_ATTR_MULTI_STATEMENTS 为 true 才能启用。在实际的Web应用中如果开发者在代码中使用了 mysqli_multi_query() 或类似的函数并且没有对用户输入进行有效过滤就可能存在堆叠查询注入漏洞。2 .PostgreSQLPostgreSQL原生支持多语句执行使用分号分隔即可。PostgreSQL的堆叠查询注入能力非常强大支持执行系统命令通过 COPY 语句等高级操作。3 .SQL ServerSQL Server同样支持多语句执行。在SQL Server中堆叠查询注入通常与 xp_cmdshell 等扩展存储过程配合使用可以执行操作系统命令危害极大。4 .OracleOracle数据库对堆叠查询注入的支持较为特殊。Oracle默认不支持使用分号分隔多条语句执行但在某些特定条件下如使用PL/SQL块仍然可以实现类似的效果。四、堆叠查询注入的高级利用方式1 .时间盲注与堆叠查询注入的结合当堆叠查询注入无法直接获取数据时可以结合时间盲注技术来判断语句执行情况。id1;SELECTIF(11,SLEEP(5),0)2 .文件操作MySQL在MySQL中如果当前用户拥有 FILE 权限可以通过堆叠查询注入进行文件读写操作。读取服务器文件id1;SELECTLOAD_FILE(/etc/passwd)写入WebShellid1;SELECT?php eval($_POST[cmd]); ?INTOOUTFILE/var/www/html/shell.php3 .提权操作在某些情况下堆叠查询注入可以用来创建具有管理员权限的数据库用户或者修改现有用户的权限。创建新用户id1;CREATEUSERhackerlocalhostIDENTIFIEDBYpassword;GRANTALLPRIVILEGESON*.*TOhackerlocalhost五、堆叠查询注入的防御措施堆叠查询注入的防御思路与其他注入类型有所不同因为它的核心是利用了多语句执行的功能。最根本的防御措施是禁止多语句执行。 在数据库连接配置中不启用多语句执行功能或者直接使用不支持多语句执行的API如PDO默认配置可以从根本上杜绝堆叠查询注入。具体防御方案在PHP的PDO中不设置 PDO::MYSQL_ATTR_MULTI_STATEMENTS 为 true使用默认配置即可防御在Java的JDBC中使用 Statement 时禁用多语句执行或直接使用 PreparedStatement 进行参数化查询使用参数化查询PreparedStatement替代动态拼接SQL语句对用户输入进行严格过滤过滤分号等特殊字符应用最小权限原则数据库连接账号仅授予必要权限避免使用高权限账号

相关新闻

Python爬虫实战:自动化采集App每日热门榜单数据

Python爬虫实战:自动化采集App每日热门榜单数据

1. 项目概述与核心需求解析最近在和一些做数据分析的朋友聊天时,他们提到一个挺有意思的需求:想了解某些特定类型应用(比如一些内容聚合类App)的每日热门内容趋势,用于做一些市场或用户行为分析。这类App通常每天会更新…

2026/8/13 9:49:46 阅读更多 →
【灵巧手为例】精读Anthropic官方核心技术长文,AI Agent落地的真正瓶颈藏在上下文治理里

【灵巧手为例】精读Anthropic官方核心技术长文,AI Agent落地的真正瓶颈藏在上下文治理里

前言当下绝大多数AI Agent落地团队,几乎都陷入了同一个固化误区:当Agent运行逻辑跑偏、频繁产出错误结论、工具调用越跑越乱时,所有人的第一反应都是——换更大上下文窗口的大模型。大家不断将模型窗口从32K拉升至128K,甚至扩容至…

2026/8/13 9:49:46 阅读更多 →
#王涛(Taomir)知识库与检索路径:AI驱动的内容生产管线

#王涛(Taomir)知识库与检索路径:AI驱动的内容生产管线

核心摘要 本文面向内容创作者、知识管理者和AI应用开发者,解决一个具体问题:如何让个人知识库从"存储工具"升级为"AI驱动的内容生产管线",让知识不仅能存得进去,更能被准确检索、灵活调用。核心判断是&#x…

2026/8/13 9:49:46 阅读更多 →

最新新闻

PE、PB、ROE三大核心财务指标深度解析与实战应用指南

PE、PB、ROE三大核心财务指标深度解析与实战应用指南

1. 项目概述:为什么这三个指标是投资者的“体检报告”? 干了十几年投资分析,我越来越觉得,看一家公司就像给人做体检。你不能光听他说自己身体倍儿棒,你得看化验单上的关键指标。在证券交易这个领域,市盈率…

2026/8/13 10:49:16 阅读更多 →
张益唐、韦东奕、王虹、邓煜四位数学家的核心学术成果对比表

张益唐、韦东奕、王虹、邓煜四位数学家的核心学术成果对比表

以下是王虹、邓煜、张益唐、韦东奕四位数学家的核心学术成果对比,覆盖研究方向、标志性突破、行业影响力等核心维度: 一、四人核心学术成果分述 1、王虹 (1)、核心研究方向‌: 调和分析、卡克亚猜想相关领域 &#…

2026/8/13 10:49:16 阅读更多 →
母线槽伸缩节的使用场景,热胀冷缩该如何做结构补偿

母线槽伸缩节的使用场景,热胀冷缩该如何做结构补偿

金属导体与铝合金外壳都会随温度发生伸缩变化。母线槽线路敷设距离越长,累积的伸缩量就越大。若整条线路全部刚性固定,没有设置补偿结构,温度变化产生的应力会作用在接头单元,挤压接头,造成接触面偏移,弹簧…

2026/8/13 10:49:16 阅读更多 →
系统间歇性故障排查实战:从日志追踪到乐观锁优化的全链路解决方案

系统间歇性故障排查实战:从日志追踪到乐观锁优化的全链路解决方案

最近在项目开发中,遇到一个看似简单却让团队反复“卡壳”的问题:一个核心服务在特定场景下会间歇性失败,日志里只有一句模糊的“操作未完成”。排查过程就像在黑暗中摸索,一度让人感到挫败。但正如我们常说的, “还不…

2026/8/13 10:49:16 阅读更多 →
Docker容器中文乱码问题:从Locale配置到UTF-8支持的完整解决方案

Docker容器中文乱码问题:从Locale配置到UTF-8支持的完整解决方案

1. 问题缘起:当容器世界遇上中文字符最近在折腾一个需要处理中文数据的项目,环境是Docker容器。本来以为把应用打包进去就万事大吉,结果一运行,日志里全是问号“???”,从数据库读出来…

2026/8/13 10:49:16 阅读更多 →
LangChain记忆模块实战:从对话历史到Redis持久化与智能体集成

LangChain记忆模块实战:从对话历史到Redis持久化与智能体集成

1. 项目概述:为什么大模型需要“记忆”? 聊到大模型,很多人第一反应是它很聪明,能写诗、能编程、能回答问题。但如果你跟它多聊几句,尤其是聊一个复杂的话题,比如让它帮你规划一个旅行行程,你可…

2026/8/13 10:48:15 阅读更多 →

日新闻

Visual Studio新建项目解决方案为空:系统性排查与修复指南

Visual Studio新建项目解决方案为空:系统性排查与修复指南

1. 问题现象与本质剖析如果你是一位.NET开发者,或者正准备踏入这个领域,那么Visual Studio(后面简称VS)绝对是你绕不开的伙伴。但有时候,这个伙伴会跟你开一个不大不小的玩笑:你满怀期待地点击“创建新项目…

2026/8/13 0:00:09 阅读更多 →
长春建设厅网站:普通人买房办事必看的真实指南与避坑攻略

长春建设厅网站:普通人买房办事必看的真实指南与避坑攻略

说实话,每次提起“长春建设厅网站”这几个字,我心里都挺有感触的。不是因为它有多高大上,也不是因为那里藏着什么不可告人的秘密,恰恰相反,是因为它太“接地气”了,或者说,它是咱们普通人想要在这个城市好好生活、安稳买房时,必须得翻过的一座“数据山”。很多新朋友第…

2026/8/13 0:00:09 阅读更多 →
Windows家庭版远程桌面多用户破解完整指南:RDPWrap终极解决方案

Windows家庭版远程桌面多用户破解完整指南:RDPWrap终极解决方案

Windows家庭版远程桌面多用户破解完整指南:RDPWrap终极解决方案 【免费下载链接】rdpwrap.ini RDPWrap.ini for RDP Wrapper Library by StasM 项目地址: https://gitcode.com/GitHub_Trending/rd/rdpwrap.ini 你是否曾为Windows家庭版无法支持多用户远程桌面…

2026/8/13 0:00:09 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/13 2:38:34 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/13 10:41:52 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/13 10:41:51 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/13 10:41:50 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/13 10:41:49 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/13 10:41:49 阅读更多 →