1. 程式人生 > 其它 >[SUCTF 2019] EasySQL

[SUCTF 2019] EasySQL

開啟靶場

輸入數字1(經測驗發現好像任意數字都會有回顯)會有回顯,而字元就不會有回顯

這裡需要注意的一個點就是輸入字元後url上不會有回顯,說明傳參的方式是post而非get,檢視原始碼後證實了我們的猜測

慣例的使用單引號來檢測注入點,發現沒有回顯,嘗試使用堆疊注入來查看錶名

繼續嘗試檢視欄位:1;show columns from Flag,果然沒有回顯,寫題時進行到這一步,我就沒有思路了,上網檢視大佬的wp後發現需要猜測後臺的SQL語句,輸入數字有回顯而字元沒有回顯,說明了語句中存在 || 結構(我目前不太清楚原因)

sql語句為select *,1 || flag from Flag, 這裡的 || 可以理解為 or,很顯然 1 || flag是會返回1的,也就是說sql語句其實就是select *,1 from Flag

;

綜上,內建的sql語句為sql ="select".post[‘query’]."||flag from Flag";輸入的值為*,1