介绍
SQL盲注其实是SQL注入的一种,之所以称为盲注是因为他不会根据你sql注入的攻击语句返回你想要知道的错误信息。
分类
布尔盲注、时间盲注
流程
1、判断注入类型
2、库名长度
3、库名
4、表的数量
5、表长度
6、表名
7、列数
8、列长
9、列名
10、数据
函数
length():返回字符串长度
substr():截取字符串
ascii():返回字符的ASCII码
sleep(n):将程序挂起一段时间,n秒
if(x,y,z):判断语句,x:判断条件,y:条件为真执行的语句,z:条件为假执行的语句
基于布尔的SQL盲注
判断数据库名长度
长度为7个字符时,无返回信息
长度为8个字符时,有返回信息,说明数据库名长度为8个字符
判断库名
库名的第一个字符
第二个字符
以此类推,得到库名
判断库中表的数量
判断表的长度
第一个表的长度
第二个表的长度
判断表名
第一个表的第一个字符
第一个表的第二个字符
判断表中列的数量
列的长度
第一个列的长度
第二个列的长度
列名
第一列的第一个字符
第一列的第二个字符
猜解数据
users表中username字段第一个用户名长度
基于时间的SQL盲注
时间盲注判断依据是页面响应速度,sleep()函数使页面响应速度改变,从而判断是否注入成功
判断数据库长度
判断库名
第一个字符
第二个字符
判断表的数量
判断表的长度
第一个表的长度
第四个表的长度
判断列的数量
第一个字段的第一个字符
第二个字段的第二个字符