1. 程式人生 > >sqli-labs(十六)(order by註入)

sqli-labs(十六)(order by註入)

之前 order by www. 分享 extra 執行 value 四十七 sleep

第四十六關:

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註入)