SQL注入的分类:
按参数进行分类:
当输入的参数为整型时,可以认为是数字型输入
当输入的参数为字符串时,可以认为是字符型
按请求方式进行分类:
GET注入
POST注入
Cookie注入
HTTP Header注入
按是否回显方式进行分类:
显注
盲注
什么是注入点:
注入点就是可以实行注入的地方,通常是个访问数据库的连接。
注入点首先观察搜索框的地址是否是有与数据库交互,例如:html这种几乎是不存在注入的所以要先判断是否有交互。
交互点一般是搜索栏、留言版、登入/注册页面、以及最利于观察的搜索栏的地址如果类似于http//www.xxx.com/index.php?id=1这种很大程度存在注入
如何判断是字符型注入还是数字型注入:
方法1:使用 and 1=1和and1=2来判断
如果提交and 1=1和and 1=2都能正常显示界面,则为字符型注入
如果提交and 1=1能正常显示界面而提交and 1=2不能正常显示界面,则为数字型注入
方法2:使用减法来判断
字符型注入不做加法,所以在做减法前后,页面显示的结果一致
数字型注入做加减法,所以在做减法前后,页面显示的结果是不一致的
闭合方式:
数字型的注入不存在闭合方式,字符型注入存在闭合方式,其闭合方式主要有四类:
(1)一个单引号 ’
(2)一个双引号 ”
(3)一个单引号加一个反括号 ’)
(4)一个双引号加一个反括号 ”)
判断闭合方式的作用:
通过手工提交闭合符号来结束前一段查询语句,然后在后面就可加入其他语句以实现注入,可以通过用注释符号 ‘--+’、‘#’或‘%23’注释掉
如何判断闭合方式:
如果手工提交某个闭合符后显示的页面与未手工提交闭合符的页面不一致,则说明该闭合符为该查询语句的闭合方式;如果手工提交某个闭合符后显示的页面与未手工提交闭合符的页面一致,则说明该闭合符不是该查询语句的闭合方式