淺談WAF——你的網站安全管家

點贊後看,養成習慣
喜歡的話 可以點個關注喲
你們的點贊支持對博主們來說很重要哦 !!!

本文將針對以下問題逐條進行解答:

01 Waf究竟是什麼?

02 Waf的分類有哪些?

03 Waf可以用來幹什麼?

04 我們如何判斷是否有Waf?

05 我們可以如何繞過waf?

在這裏插入圖片描述

01 Waf簡介

Waf,也稱爲Web應用防火牆,它是通過執行一系列針對http/https安全策略來專門爲Web應用提供保護的一款產品。

在這裏插入圖片描述
通俗來說, Waf就好比你家看門護院的一條忠犬,明星出行時保護其安全的保鏢, 只不過在這裏,他們保護的對象換成了Web應用、Web網站罷了。


02 Waf的分類

目前來看,市面上流行的Waf通常有以下幾種:

1、軟件型Waf

軟件型Waf是安裝在服務器上的一個安全軟件,因爲安裝在服務器本地,所以它可以直接接觸服務器上的文件,直接檢測服務器上是否存在webshell、是否有文件被篡改等危險動作。

相較而言,由於是軟件形式,就好比我們windows電腦上使用360衛士軟件一樣。它使用方便,服務器上即裝即用,且功能豐富,有圖形界面,對於管理人員來說,管理起來非常舒服。

在這裏插入圖片描述
但是同時,由於它是軟件,如果要實現對每個請求的解析、識別,可能會存在佔用服務器內存過多的情況。除此之外,也存在誤報 的可能。

因而,軟件型Waf往往適合中小型網站



2、硬件型Waf

硬件型Waf以硬件形式部署在鏈路中,支持多種部署方式。

在這裏插入圖片描述
串聯時,可以攔截惡意流量

並聯時,可以只記錄攻擊不進行攔截

常規硬件Waf的實現方式是通過代理技術代理來自外部的流量,並對請求包進行解析,通過安全規則庫的攻擊規則進行匹配,如成功匹配規則庫中的規則,則識別爲異常並進行請求阻斷。

相較而言,由於是硬件,所以一般情況下可承受較高的數據吞吐量,且當管理員選擇串聯模式接入時時,同一個交換機下的所有服務器,都將處於防火牆的防護範圍之類。

但其價格昂貴,價格動輒便是幾十萬甚至幾百萬,對中小型企業並不友好



3、雲Waf

雲Waf是近年來隨着雲計算的推動衍生出來的新產品,雲WAF,也稱WEB應用防火牆的雲模式,這種模式讓用戶不需要在自己的網絡中安裝軟件程序或部署硬件設備,就可以對網站實施安全防護,它的主要實現方式是利用DNS技術,通過移交域名解析權來實現安全防護。用戶的請求首先發送到雲端節點進行檢測,如存在異常請求則進行攔截否則將請求轉發至真實服務器。

在這裏插入圖片描述
這種雲Waf一般以反向代理的形式,使對網站的請求報文優先經過waf主機,經waf主機過濾後,認爲無害再發送給實際網站服務器。

相較於,其他兩種Waf,雲Waf有部署簡單,維護成本低、用戶無需更新、可充當CDN的特點,但其也有缺點,即存在輕易被繞過的風險,由於雲Waf的主要實現原理是通過將用戶的DNS解析到雲節點實現防護,這樣一來, 如果黑客通過相關手段獲取了服務器的真實IP地址,然後強制解析域名,就可以輕鬆繞過雲Waf對服務器發起攻擊。同時,對於某些對數據機密性要求比較高的企業來說,雲Waf也並不合適,因爲如果使用雲Waf,所有的數據會記錄到雲端,這相當於數據被別人保管,可能存在一定的泄露風險。

所以雲Waf目前只適用於安全需求較低的中小型企業或者個人網站,對於安全需求較高的網站,如政府、金融、運營商等,雲Waf無法滿足相關要求。

4、網站系統內置的Waf

在這裏插入圖片描述
網站系統內置的過濾,直接鑲嵌在代碼中,相對來說自由度高,一般有

輸入參數強制類型轉換

輸入參數合法性檢測

關鍵函數執行,如SQL、命令執行函數前,對經過代碼進行檢測

對輸入的數據進行替換後再繼續執行代碼,比如轉義、替換掉特殊字符

一般來說,這種Waf與業務更加契合,誤報漏報情況少


03 Waf的用途

前面我們提過, Waf就像網站的保鏢一樣,可以阻隔大部分對Web的惡意工具。

在這裏插入圖片描述
那麼具體可以用於防範那些 惡意攻擊呢?
其中包括但不限於:

1、網絡層防護

在這裏插入圖片描述
1.1、DDOS攻擊

1.2 、Syn Flood

1.3、 Ack Flood

1.4、 Http/HttpS Flood

2、Web應用層防護

2.1、SQL注入攻擊

2.2、命令注入攻擊

2.3、代碼執行攻擊

2.4、 XSS攻擊

2.5、 CSRF攻擊

3、Web信息防護

在這裏插入圖片描述
3.1、 對網站上出現的銀行卡(信用卡、借記卡)、社保卡、駕照等,採用覆蓋和隱藏兩種方式。

3.2、 過濾Web中政治敏感詞、技術關鍵詞等

3.3、 對Web服務器上的文件進行隱藏,普通訪問用戶無權限訪問該文件



04 判斷某個網站是否存在Waf的方法



1、工具判斷

使用SQL自帶的waf識別模塊

如:sqlmap.py -u “要檢測的網站” --identify-waf --batch

在這裏插入圖片描述



2、手工判斷

直接在找到一個網站存在get請求參數的地方,url後加上最基礎的測試語句,並加上不存在的參數,如
aaa=1 union select 1,2,3

按理來說,不存在的參數不會對網站系統的執行產生任何影響,但是如果此時被攔截,如頁面無法訪問、響應碼不同、返回信息與正常請求網頁時不同,那麼就存在waf

但現如今,大型網站已經很少存在這種空子給你鑽咯



05 試圖繞過Waf的方法

繞過方法:
我方便自己記憶變得口訣:踢遍天(替編添)
即:

:大小寫混合、關鍵字替換、生僻函數

:url編碼

:使用註釋、各參數請求拆分

除此之外,對於使用雲waf的網站,你可以尋找該網站的真實IP,然後通過IP訪問,即可繞過雲waf

還可以嘗試在cookie中將注入語句放入

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章