sql注入的SQL注入技术

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql注入的SQL注入技术相关的知识,希望对你有一定的参考价值。

参考技术A

强制产生错误
对数据库类型、版本等信息进行识别是此类型攻击的动机所在。它的目的是收集数据库的类型、结构等信息为其他类型的攻击做准备,可谓是攻击的一个预备步骤。利用应用程序服务器返回的默认错误信息而取得漏洞信息。
采用非主流通道技术
除HTTP响应外,能通过通道获取数据,然而,通道大都依赖与数据库支持的功能而存在,所以这项技术不完全适用于所有的数据库平台。SQL注入的非主流通道主要有E-mail、DNS以及数据库连接,基本思想为:先对SQL查询打包,然后借助非主流通道将信息反馈至攻击者。
使用特殊的字符
不同的SQL数据库有许多不同是特殊字符和变量,通过某些配置不安全或过滤不细致的应用系统能够取得某些有用的信息,从而对进一步攻击提供方向。
使用条件语句
此方式具体可分为基于内容、基于时间、基于错误三种形式。一般在经过常规访问后加上条件语句,根据信息反馈来判定被攻击的目标。
利用存储过程
通过某些标准存储过程,数据库厂商对数据库的功能进行扩展的同时,系统也可与进行交互。部分存储过程可以让用户自行定义。通过其他类型的攻击收集到数据库的类型、结构等信息后,便能够建构执行存储过程的命令。这种攻击类型往往能达到远程命令执行、特权扩张、拒绝服务的目的。
避开输入过滤技术
虽然对于通常的编码都可利用某些过滤技术进行SQL注入防范,但是鉴于此种情况下也有许多方法避开过滤,一般可达到此目的的技术手段包括SQL注释和动态查询的使用,利用截断,URL编码与空字节的使用,大小写变种的使用以及嵌套剥离后的表达式等等。借助于此些手段,输入构思后的查询可以避开输入过滤,从而攻击者能获得想要的查询结果。
推断技术
能够明确数据库模式、提取数据以及识别可注入参数。此种方式的攻击通过网站对用户输入的反馈信息,对可注入参数、数据库模式推断,这种攻击构造的查询执行后获得的答案只有真、假两种。基于推断的注入方式主要分为时间测定注入与盲注入两种。前者是在注入语句里加入语句诸如“waitfor 100”,按照此查询结果出现的时间对注入能否成功和数据值范围的推导进行判定;后者主要是“and l=l”、“and l=2”两种经典注入方法。这些方式均是对一些间接关联且能取得回应的问题进行提问,进而通过响应信息推断出想要信息,然后进行攻击。

参考技术B SQL注入:利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,这是SQL注入的标准释义。

sql注入篇简单技术

继《我的wafbypass之道(注入篇之sql)》之后
Author:二狗子
看见大佬:tr3jer_conprong写的《wafbypass之道(注入篇之sql)》之后深有感触也经行了多方面研究,一直希望大佬一直写下去,无奈我再也没有看到作品,于是我决定写续集至于之前的我就不在一一提,如果不懂查阅《wafbypass之道(注入篇之sql)》。

废话不多说开始:

Union注入:
常见的union注入都是union select 1,2,3…………

sql注入篇简单技术



过滤了空格和逗号就没有办法了吗?有的:
SELECT * FROM `2019_11_6_yg` where id=1 and 1=1有空格,看我咋绕过:

sql注入篇简单技术



全部没有空格,还有就是用length函数:

sql注入篇简单技术



你也可以用注释 还有编码比如%09%0a等等
下面是重点用join进行无逗号无空格绕过

sql注入篇简单技术



注:select * from 无需空格

布尔型注入:

《wafbypass之道(注入篇之sql)》已经写的很详细了我就不过多介绍,如果不懂请查阅
主要介绍case when then  end函数:
这个函数其实与if函数没有啥区别,并且这个函数只能是等于,在过滤if和逗号还有大于小于等于的时候使用:
Case 语句 when 条件 then 执行 end

sql注入篇简单技术




其他的字符 截取过逗号等等查阅《wafbypass之道(注入篇之sql)》

注入:空格也可以绕过union注入提到了,不懂研究union注入

重点来了现在很多都是延迟注入,几乎上面的很难找到了,不是没有是很少,反正我遇到的不多,如果有错请谅解本人小菜

延迟注入:

延迟注入一般都要用到sleep()


sql注入篇简单技术




这种是典型的延迟注入,如果过滤掉sleep是不是没有办法,答案肯定是有的,我就介绍两种,其他的自己去研究,搞我们这行的主要就是研究 

第一种用BENCHMARK 函数


sql注入篇简单技术




sql注入篇简单技术




sql注入篇简单技术




明显延长了时间,如果不懂这个函数请查阅mysql手册

第二中用笛卡尔

sql注入篇简单技术








明显延长时间,不懂函数还是查阅mysql手册,我想了一下这里不是菜鸟教学,而是一种研究。

你如果要问绕WAF哪,你可以不用学安全了,基础都没有了解还学,学个屁,并且大佬的《wafbypass之道(注入篇之sql)》已经将的很清楚,请你重新回去研究,我这里只是做一些补充,向大佬致敬

这一章sql注入篇到此结束,有时间出下一篇其他绕过。大家拜拜,师傅领进门修行靠个人




以上是关于sql注入的SQL注入技术的主要内容,如果未能解决你的问题,请参考以下文章

sql 注入技术

sql注入是啥意思

什么叫sql注入,如何防止sql注入

sql注入攻击的原理

什么是sql注入如何防止sql注入

电子书 SQL注入攻击与防御.pdf