sqli-labs————寬位元組注入(可以用於繞過濾了單引號或者\的WAF)

FLy_鵬程萬里發表於2018-05-19

寬位元組注入的原理:

原理:mysql在使用GBK編碼的時候,會認為兩個字元為一個漢字,例如%aa%5c就是一個漢字(前一個ascii碼大於128才能到漢字的範圍)。

我們在過濾 ' 的時候,往往利用的思路是將 ' 轉換為 \' 。


寬位元組注入實現:

因此我們在此想辦法將 ' 前面新增的 \ 除掉,一般有兩種思路:

(1)%df吃掉 \
具體的原因是urlencode('\) = %5c%27,我們在%5c%27前面新增%df,形成%df%5c%27,而上面提到的mysql在GBK編碼方式的時候會將兩個位元組當做一個漢字,此事%df%5c就是一個漢字,%27則作為一個單獨的符號在外面,同時也就達到了我們的目的。
(2)將 \' 中的 \ 過濾掉
例如可以構造 %**%5c%5c%27的情況,後面的%5c會被前面的%5c給註釋掉。這也是bypass的一種方法。

相關文章