什么是 WAF(Web 應(yīng)用程序防火墻)以及如何繞過它?
當(dāng)前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
在本篇文章中,我們將闡明與 WAF(Web 應(yīng)用程序防火墻)安全性相關(guān)的所有概念。我們還將了解如何繞過防火墻,以便師傅們能夠為大多數(shù)惡意威脅和漏洞做好準(zhǔn)備。 WAF 繞過是最受關(guān)注的概念之一,因為如今高級威脅正以 Web 應(yīng)用程序為目標(biāo)來獲取大量數(shù)據(jù)。 什么是 Web 應(yīng)用程序防火墻? Web 應(yīng)用程序防火墻 (WAF) 是一種安全工具,可為 Web 應(yīng)用程序提供針對各種攻擊的保護(hù),例如 SQL 注入、跨站點腳本和其他常見漏洞。WAF 部署在 Web 服務(wù)器或應(yīng)用程序前面,分析所有傳入的 HTTP/HTTPS 流量并阻止任何符合預(yù)定義安全規(guī)則的請求。 可以將它們配置為根據(jù) IP 地址、用戶代理和其他請求屬性等各種標(biāo)準(zhǔn)僅允許特定類型的流量到達(dá) Web 應(yīng)用程序。WAF 使用多種技術(shù)來檢測和預(yù)防攻擊,例如基于簽名的檢測、異常檢測和行為分析。 它們還可以提供其他安全功能,例如加密和身份驗證。WAF 是保護(hù) Web 應(yīng)用程序的重要工具,但它們并不是完整的解決方案,應(yīng)與其他安全措施(例如安全編碼實踐、定期漏洞掃描和滲透測試)結(jié)合使用。 WAF 如何工作? Web 應(yīng)用程序防火墻 (WAF) 的工作原理是檢查傳入 Web 應(yīng)用程序的 Web 流量、分析請求并根據(jù)一組預(yù)定義的安全規(guī)則阻止任何惡意或可疑請求。以下是 WAF 工作原理的基本步驟: 1.流量攔截:WAF 位于互聯(lián)網(wǎng)和 Web 服務(wù)器/應(yīng)用程序之間,攔截所有 HTTP/HTTPS 請求。 2.流量分析:WAF 分析請求標(biāo)頭和正文,尋找已知的攻擊模式和特征,例如 SQL 注入、跨站點腳本和其他漏洞。 3.規(guī)則匹配:WAF 根據(jù)一組預(yù)定義的安全規(guī)則檢查請求,這些規(guī)則定義了允許或阻止的內(nèi)容。可以配置規(guī)則以匹配特定模式,例如某種類型的 SQL 注入或特定用戶代理。 4.決策:如果請求符合其中一條安全規(guī)則,WAF 將阻止該請求并向客戶端發(fā)送錯誤消息或采取安全策略定義的其他操作。如果請求不符合任何規(guī)則,則允許其傳遞到 Web 服務(wù)器/應(yīng)用程序。 5.日志記錄和報告:WAF 記錄所有流量和安全事件,允許管理員監(jiān)控和分析流量和安全事件。 除了這些基本步驟之外,WAF 還可以使用機(jī)器學(xué)習(xí)和行為分析等各種先進(jìn)技術(shù)來檢測和預(yù)防零日攻擊和其他新興威脅。 總體而言,WAF 為 Web 應(yīng)用程序提供了一層重要的安全保障,可以幫助組織防御各種攻擊。 Web 應(yīng)用程序防火墻的類型: 根據(jù)所需的安全操作類型,有三種可配置的防火墻模型。雖然每種類型都有各自的優(yōu)點和缺點,但建議在決定哪種類型最適合自己的要求之前,先了解每種類型。 阻止名單/黑名單 這種方法根據(jù)預(yù)先定義的已知惡意行為者、IP 地址或域名列表阻止對資源的訪問。這種方法可以有效抵御已知威脅,但可能無法防范新的或未知的威脅。 允許名單/白名單 此方法僅允許預(yù)先定義的已批準(zhǔn)用戶、IP 地址或域名列表訪問資源。此方法可能更安全,因為它僅允許已批準(zhǔn)實體訪問,但可能更難管理,因為它需要頻繁更新列表。 黑白名單相結(jié)合 這種方法結(jié)合了黑名單和白名單方法,提供了一種全面的訪問控制方法。通過同時使用這兩種方法,組織可以阻止已知的惡意行為者訪問資源,同時允許已獲批準(zhǔn)的實體訪問。 總體而言,方法的選擇取決于組織的具體需求和安全要求。 結(jié)合 WAF,可以使用黑名單、白名單和混合方法來提供針對 Web 應(yīng)用程序威脅的額外保護(hù)層,從而增強安全性。 WAF 實施的類型 WAF 實施必須適合組織需求才能提供保護(hù)。下面已細(xì)分三種類型的 WAF 實施策略,以便更好地評估最適合需求的理想解決方案。 1.基于主機(jī)的 WAF 此部署選項涉及直接在 Web 服務(wù)器上安裝 WAF 軟件。WAF 作為操作系統(tǒng)內(nèi)的模塊或 Web 服務(wù)器軟件的擴(kuò)展運行。基于主機(jī)的 WAF 通常是基于軟件的 WAF,可以對服務(wù)器的 Web 流量提供精細(xì)控制,但可擴(kuò)展性可能有限并且需要更多資源來維護(hù)。 2.基于云的 WAF 此部署選項涉及將 WAF(Web 應(yīng)用程序防火墻)部署為云中的服務(wù)。基于云的 WAF 通常由第三方提供商提供,例如 Amazon Web Services (AWS) 或 Microsoft Azure。基于云的 WAF 可以提供高度的可擴(kuò)展性、靈活性和減少的維護(hù),但成本可能更高并且需要對第三方提供商有更多的信任。 3.基于網(wǎng)絡(luò)的 WAF 此部署選項涉及將 WAF 放置在客戶端和服務(wù)器之間并監(jiān)控它們之間的所有流量。基于網(wǎng)絡(luò)的 WAF 可以基于硬件或基于軟件,可以提供針對 Web 應(yīng)用程序威脅的全面保護(hù)。但是,它們可能具有更高的延遲,并且需要更復(fù)雜的網(wǎng)絡(luò)基礎(chǔ)設(shè)施。 總體而言,WAF 部署選項的選擇取決于組織的特定需求和安全要求,以及預(yù)算、現(xiàn)有基礎(chǔ)設(shè)施和員工資源等因素。 可以遵循以下一些技術(shù)來繞過 WAF,以確保在威脅發(fā)現(xiàn)時有一個行動計劃。 案例: 一些 Web 應(yīng)用程序防火墻不夠完善,只能過濾某些場景。為了優(yōu)化有效負(fù)載的創(chuàng)建,可以使用大寫和小寫字符的組合。
URL 編碼 要轉(zhuǎn)換常規(guī)有效負(fù)載,可以使用 % 編碼或 URL 編碼等編碼方法。有在線工具可用于此目的。Burp 配備了內(nèi)置編碼器/解碼器功能。
Unicode 編碼 該技術(shù)可用于大多數(shù)現(xiàn)代 Web 應(yīng)用程序,這些應(yīng)用程序通常使用 UTF-8 編碼,因此容易受到攻擊。 Unicode 編碼的 ASCII 字符可以提供繞過安全措施的有用替代方案。可以對完整或部分有效負(fù)載進(jìn)行編碼以實現(xiàn)所需的結(jié)果。
HTML 編碼 通常,Web 應(yīng)用程序會將特殊字符轉(zhuǎn)換為 HTML 編碼格式并適當(dāng)?shù)仫@示它們。這可以通過通用方法或數(shù)字方法實現(xiàn)涉及 HTML 編碼的基本繞過場景。
混合編碼 Web 應(yīng)用程序防火墻 (WAF) 規(guī)則通常針對特定類型的編碼。但是,可以通過使用混合編碼負(fù)載(結(jié)合多種編碼技術(shù))來規(guī)避此類過濾器。此外,使用制表符和換行符也有助于混淆負(fù)載。 混淆:
使用注釋 評論可以隱藏標(biāo)準(zhǔn)有效載荷向量,并且不同類型的有效載荷可能需要不同的混淆方法。
雙重編碼 雙重編碼是一種通過對字符進(jìn)行兩次編碼來繞過 Web 應(yīng)用程序防火墻 (WAF) 的技術(shù)。例如,如果 WAF 旨在阻止 URL 編碼中使用的 % 字符,那么攻擊者可以將該字符雙重編碼為 %25 以繞過 WAF。 通配符混淆技術(shù) 通配符混淆是一種使用通配符繞過 Web 應(yīng)用程序防火墻 (WAF) 的技術(shù)。該技術(shù)涉及以 WAF 無法識別的方式對有效負(fù)載進(jìn)行編碼。以下代碼片段演示了如何使用通配符混淆:
在此示例中,星號 (*) 用作通配符,以替換原始 SQL 查詢中的空格。WAF 不會將編碼的有效負(fù)載識別為 SQL 查詢,并會允許其通過。 通過使用此技術(shù),攻擊者可以逃避旨在阻止某些字符或關(guān)鍵字的 WAF。 垃圾字符技術(shù) 垃圾字符技術(shù)是一種通過在有效負(fù)載中插入隨機(jī)或無意義的字符來繞過 Web 應(yīng)用程序防火墻 (WAF) 的方法。以下代碼片段演示了如何使用垃圾字符來逃避 WAF:
換行技巧 換行技術(shù)是一種通過在有效負(fù)載中插入換行來繞過 Web 應(yīng)用程序防火墻 (WAF) 的方法。 該技術(shù)涉及將有效載荷分成多行并插入換行符以隱藏惡意代碼。以下是換行符技術(shù)的示例:
閱讀原文:原文鏈接 該文章在 2025/6/2 13:16:45 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |