天天看點

SQL注入學習筆記Sql注入

Sql注入

一、形成原因

開發者對SQL語言篩查不嚴,導緻惡意的sql語句被執行,獲得資料庫資訊。

二、分類:

1.(1)數字型注入:id=1 and 1=1;

(2)字元型注入:id=1’ and ‘1=1

2.(1)二次注入:先寫入注入語句,再調用

(2)基于時間的注入:sleep,if等函數

(3)基于報錯的注入:強行回顯,floor

(4)基于布爾的注入:看頁面的反應時間判斷

(5)堆疊注入

(6)寬位元組注入

(7)load_file,out_file,寫入檔案,擷取檔案

3.資料庫分類:mysql,mssql,Oracle,mangodb,(mysal5.0以上版本自帶information_schema,可直接利用。)

4.送出方式:get,post,cookie,

5.查詢語句:inset,select,delete,update。

如果有時候沒有回顯可能是因為查詢語句出問題。

三、Sql注入步驟:

資訊收集

(1) 判斷是否存在SQL注入

(2) 判斷資料庫類型,版本,使用者等資訊

注入

(3) Order by

(4) 暴庫名(and 1=2 union select from )

(5) 暴表名

(6) 暴字段

(7) 暴資訊

提權

四、繞waf:

大小寫、嵌套 Aandnd、注釋、改變送出方式,http參數污染、sqlmap 的tamper、編譯

五、防禦:

預編譯,魔術引号,黑白名單,waf,權限限制,敏感詞過濾,規定查詢資料長度

繼續閱讀