客戶端提交的資料未做嚴格過濾直接帶入資料庫,就造成了sql注入。
(1)按執行效果分
聯合查詢
報錯注入
布林盲注
延時注入
(2)按注入點分
字元型數字型
information_schema.schemata:包含所有庫名
information_schenma.tables:包含所有表名
information_schema.columns:包含所有列名
#
-- 注意後面有空格
/* */
/*! */ 裡面的不會被注釋掉,完整單詞
1、查庫:
select schema_name from information_schema.schemata;
2、查表:
select table_name from information_schema.tables where table_schema=『security』;
3、查列:
select column_name from information_scheam.columns where table_name=『users』
4、查字段:
select username,password from security.users
sql注入基礎
mysqli 轉義字串函式 mysqli real escape string db,string mysqli 預編譯 拼裝sql語句 把要進行的操作的sql語句提前寫好,把需要改變的元素變成佔位符 select id,username from user where user name and ...
SQL注入基礎
最為經典的單引號判斷法 在引數後面加上單引號,比如 abc.php?id 1 如果頁面返回錯誤,則存在 sql 注入。原因是無論字元型還是整型都會因為單引號個數不匹配而報錯。如果未報錯,不代表不存在 sql 注入,因為有可能頁面對單引號做了過濾,這時可以使用判斷語句進行注入。其實所有的型別都是根據資...
SQL注入基礎
為了堅持而堅持,是撐不了多久的。sql注入就是指web應用程式對使用者輸入資料的合法性沒有判斷,前端傳入後端的引數是攻擊者可控的,並且引數代入資料庫查詢,攻擊者通過把sql命令插入到web表單提交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的sql命令。sql注入漏洞的產生要滿足兩...