基于时间的盲注:
就是前端的基于time 的盲注,什么错误信息都看不到,但是还可以通过特定的输入,判断后台的执行时间,从而确定注入。
mysql 里函数sleep() 是延时的意思,sleep(10)就是数据库延时10 秒返回内容。判断注入可以使用'and sleep(10) 数据库延时10 秒返回值网页响应时间至少要10 秒根据这个原理来判断存在SQL 时间注入。
mysql 延时注入用到的函数sleep() 、if()、substring()、select if(2>1,sleep(10),0) 2>1 这个部分就是你注入要构造的SQL 语句。
//这个就是查询当前库大于1 就会延时5 秒
执行。
select if(length(database())>1,sleep(5),0)
//可以看到网页是大于五秒返回。根据这个原理length>1 , length不延时就能确定当前数据库的长度了。
-1' or if(length(database())>1,sleep(5),0)--+
构造payload ;如果数据库长度大于1 ,延时五秒返回;
vince' and if(length(database())>1,sleep(5),0)#
根据这个条件,可以逐个爆破表;