SQL注入类型

Posted 黑白之道

tags:

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


SQL是操作数据库数据的结构化查询语言,网页的应用数据和后台数据库中的数据进行交互时会采用SQL。而SQL注入是将Web页面的原URL、表单域或数据包输入的参数,修改拼接成SQL语句,传递给Web服务器,进而传给数据库服务器以执行数据库命令。如Web应用程序的开发人员对用户所输入的数据或cookie等内容不进行过滤或验证(即存在注入点)就直接传输给数据库,就可能导致拼接的SQL被执行,获取对数据库的信息以及提权,发生SQL注入攻击。




SQL注入类型 


SQL注入原理:


SQL注入攻击是通过操作输入来修改SQL语句,用以达到执行代码对WEB服务器进行攻击的方法。简单的说就是在post/getweb表单、输入域名或页面请求的查询字符串中插入SQL命令,最终使web服务器执行恶意命令的过程。可以通过一个例子简单说明SQL注入攻击。假设某网站页面显示时URL为http://www.example.com?test=123,此时URL实际向服务器传递了值为123的变量test,这表明当前页面是对数据库进行动态查询的结果。由此,我们可以在URL中插入恶意的SQL语句并进行执行。另外,在网站开发过程中,开发人员使用动态字符串构造SQL语句,用来创建所需的应用,这种情况下SQL语句在程序的执行过程中被动态的构造使用,可以根据不同的条件产生不同的SQL语句,比如需要根据不同的要求来查询数据库中的字段。这样的开发过程其实为SQL注入攻击留下了很多的可乘之机。


SQL注入类型


SQL注入:


通过把SQL命令插入到WEB表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。


SQL注入类型:


1、按照注入点分类:


(1)数字型注入:许多网页链接有类似的结构 http://xxx.com/users.php?id=1 基于此种形式的注入,注入点id为数字,一般被叫做数字型注入点,通过这种形式查询出后台数据库信息返回前台展示,可以构造类似以下的sql语句进行爆破:select *** from 表名 where id=1 and 1=1。


(2)字符型注入:网页链接有类似的结构 

http://xxx.com/users.php?name=admin 这种形式,注入点name为字符串,被称为字符型注入,可以用:select *** from 表名  where  name='admin'  and 1=1。




2、按照执行效果来分类:

1)基于布尔的盲注:根据页面返回判断条件真假注入。

2)基于时间的盲注:即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。


3)基于报错的注入:即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。


  • 单引号

  • 双引号

  • 基于数字型注入


4)联合查询注入:可以使用union情况下注入。

SQL注入类型


推荐文章++++

SQL注入类型

*

*

*


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

常见sql注入的类型

sql注入的SQL注入技术

SQL注入学习总结:其他类型SQL注入之SQL约束攻击

Sql注入之注入点类型和是否存在注入判断

SQL注入语句

sql注入之常见注入类型