4000-618-418

SQL注入分类(sql注入的定义)

2021年03月29日

之前我们已经对SQL注入讲解过多次攻击原理、目的以及攻击方式。

图片4.jpg

国内目前仍然以中低端的IT需求为主,很多程序员(或者公司本身没有这方面的意识)在开发数据库和用户交互系统时没有对用户输入的字符串进行转义、过滤,处理得不够严谨,因此针对数据库漏洞的SQL注入是目前服务器网站存在的一种最简单也最受攻击者欢迎的攻击方式。


事实上,SQL注入受欢迎不仅因为简单易学,另一个原因是分类众多,SQL注入按照提交方式可分为POST型、GET型、HTTP型和Cookie型,按数据类型可分为字符型、数字型和搜索型,按执行效果可分为联合查询注入、报错注入、堆查询注入和盲注,其中盲注又可分为基于时间和基于bool的注入。

在知道查询语句的前提下,可以轻易辨别数据库是否存在注入及注入类型。很多时候可能攻击者并不知道查询语句是什么,因此还可以这样判断:

在URL或者表单中输入一个单引号或者其他特殊符号,页面出现错误则说明此页面存在SQL注入,假如页面正常显示就说明有字符被过滤或者不存在注入则可自行测试,如果存在注入可以进一步判断注入类型,在URL或者表单中输入0 or 1,如果可以查到数据,说明是数字型注入,如果输入0'or 1#,查到数据说明是字符型注入,方法不唯一。


总之,数字型注入不需要使用单引号闭合前面的单引号就可以执行SQL语句,而字符型必须闭合前面的单引号,然后才可以执行SQL语句,同时也需要闭合后面的单引号,而注释就是很好的一种闭合后面的单引号的方法。

上一篇:基于服务器防火墙基础之上的技术浅析

下一篇:SQL注入之基于bool的盲注(sql注入详解)