mysql注入學習總結

學習sql注入已經有段時間了,大部分仍是mysql的注入。今天作個總結,最近的學習中記錄的一些知識也能夠幫助一些和我同樣的小白。php

首先針對各類注入方法和類型,理解起來很繁瑣,容易混亂,下面是個人記憶框架,不是很全面,歡迎大佬指出。mysql

注入類型:sql

(下方爲舉例,,實際上任何咱們可控,過濾不嚴且帶入數據庫執行)數據庫

?id=1' 字符型 主要有單引號閉合,雙引號閉合,取決與後臺語句的書寫方法cookie

?id=1 數字型號 大部分不用加閉合,後臺是修改語句,而且id在最後一位的個別時可能要閉合一下括號 框架

注入位置:函數

http頭注入 在http頭的的注入點,常出如今UA,referer,cookiepost

二次注入 特殊字符被過濾後失去做用但保留下來存儲到數據庫裏,再次被調用時未通過過濾使用學習

post注入 表單提交後帶入數據庫時沒有通過過濾編碼

注入方式:

聯合注入 聯合查詢注入

報錯注入 利用extractvalue,updatexml等語句

布爾型盲注 利用length,substr,ascii進行注入

時間注入 利用if,sleep搭配布爾注入執行,在頁面無錯誤顯示,但確實存在注入點時使用

堆疊注入 限制比較多mysql支持,可是須要php函數支持

基礎繞過類型:

二次編碼注入 後臺代碼錯誤的對參數進行了二次url解碼時,過濾在第一次時使用致使過濾不徹底並在第二次解碼時產生的漏洞

base64編碼 後臺先過濾再解碼產生漏洞

寬字節注入 數據庫爲gbk編碼,利用gbk漢字編碼繞過轉義符號

相互組合使用,也可能單個出現,以上不是所有但大致的記憶方式是同樣的。

waf基礎繞過:

/*!*/ 內聯註釋

/**/註釋代替空格

--+dddddd%0a 參數污染,註釋後換行

&& 代替and

|| 代替or

以上就是對mysql注入的學習總結,越學習愈加以爲閉合纔是最關鍵的地方,多是由於我太菜了吧;

相關文章
相關標籤/搜索