本次对时间型盲注进行学习,还是的使用sqli-labs环境。
首先看一下时间型盲注需要用到的:
1、if()函数 if(a,b,c)
如果a为真则执行b,否则执行c。如图,由于1=1为真所以执行第二个参数2;
而当1=11是结果为假,所以执行了第三个参数3;
2、sleep() sleep函数可以让此语句运行N秒钟
可以看到这句代码执行了5秒钟
接下来查询1=1如果为真的话执行1,为假则执行5秒;
由于1=1为真所以执行查询1,用时0秒,几乎感觉不到延迟;1=2时,则执行第三个字段结果,查询5秒,可以感觉明显延迟。
接下来使用sleep()函数判断以下sqli-labs当前数据库的首字母是否为a,为真的话就返回1(由于页面回显一样所以页面会提示You are in ......),为假的话执行查询5秒
http://localhost:8088/sqli-labs/Less-5/?id=1' and if(substr((select database()),1,1)='a',1,sleep(5)) --+
感觉页面明显延迟,5秒后页面显示为空;不断尝试查询直到页面没有延迟显示You are in ......,就找到了正确字符s,
后面步骤都比较相似,就不再重复了。