sqli-labs(十六)(order by註入)
第四十六關:
http://www.bubuko.com/infodetail-2481914.html 這有篇文章講得還不錯可以看下
這關是order by後面的一個註入,用報錯註入和盲註都是可以的
先看源碼吧
可以看到是order by後面存在註入漏洞。
輸入?sort=1‘ 頁面報錯,可以使用報錯註入
後面的流程和之前報錯註入的流程沒什麽區別了
?sort=1 and extractvalue(1,concat(0x7e,user())) --+
也可以使用updatexml()
這裏順便把盲註的流程也說下吧
1.布爾型的盲註
輸入?sort=rand(true)--+ 與?sort=rand(false)--+ 頁面顯示不一樣,這是因為true=1 false=0
然後就是輸入?sort=rand(ascii(substr((user()),1,1))>64)--+
頁面的結果與rand(true)相似,說明。。。
後面的就不繼續了。
2.基於時間的盲註
?sort=1 and (if((ascii(substr((select database() limit 0,1),1,1))=115),sleep(5),1))–+
也不多說了。
第四十七關:
和第四十六關一樣,只是是字符型的註入。
第四十八關:
這關沒有報錯信息,使用上面說的盲註就可以。
第四十九關:
頁面沒有變化,使用基於時間的盲註。
第五十關:
和四十八關類似,只不過執行 sql 語句使用的是 mysqli_multi_query()函數,會執行多條sql語句,所以
order By後面可以使用堆疊註入,整型
第五十一關:
order By後面可以使用堆疊註入,字符型
第五十二關:
和第四十九關類似,需要使用基於時間的盲註 也可以堆疊註入 整數型
第五十三關:
和第四十九關類似,需要使用基於時間的盲註 也可以堆疊註入 字符型
sqli-labs(十六)(order by註入)