什么是盲注-based time:
如果说基于boolean的盲注在页面上还可以看到0 or 1 的回显的话,那么基于time的盲注完全就啥都看不到了!但还有一个条件,就是“时间”,通过特定的输入,判断后台执行的时间,从而确认注入!
常用的Teat Payload:kobe’ and sleep(5)#
看看输入:kobe和输入kobe’ and sleep(5)#的区别,从而判断这里存在based time的SQL注入漏洞
首先输入一个单引号,出现
再输入"kobe’ and 1=1#",发现也提示"i don’t care who you are!"
这时候我们需要另一种方法来判断,基于时间的测试。
首先,把浏览器的控制台打开,点击网络,然后再次输入"kobe’ and sleep(5)#",点提交,后台会运行5秒才会出结果。这样来看,它会把我们输入的sleep(5)作为一段函数执行。
先输入"kobe’ and if((substr(database(),1,1))=‘a’,sleep(5),null)#",结果为以下,时间为1秒多。
输入"kobe’ and if((substr(database(),1,1))=‘p’,sleep(5),null)#"时出现以下结果,时间为6秒多。
说明第一个字符是’p’,执行了暂停5秒的操作。