WAF 原理概述及繞過思路

文章來源 :笙臨天下 Sec

Waf 分類:

WAF 分爲非嵌入型 WAF 和嵌入型 WAF,非嵌入型指的是硬 WAF、雲 WAF、虛擬機 WAF 之類的;嵌入型指的是 web 容器模塊類型 WAF、代碼層 WAF。

Waf 工作模式:

關閉模式:對某個站點使用關閉模式,到這個站點的流量就感受不到 WAF 的存在。一般的做法,是解綁域名,再到 web 服務上綁定該域名。


監聽模式:既過規則,也會直接傳遞給 web 服務。

防護模式:直接過規則,不會直接傳遞給 web 服務

WAF 規則引擎原理

WAF 無非就是攔截有害請求和僞裝響應,出於性能考慮,攔截有害請求又分爲兩個層面,由網絡層攔截和由應用層攔截,且任何請求應該先在網絡層過濾再到應用層過濾。也就是說,規則引擎分爲兩塊,對請求過濾和對響應過濾,而對請求過濾分爲兩大步,網絡層過濾和應用層過濾。

原理圖大致如下:

詳情參考:
https://www.cnblogs.com/realjimmy/p/12937247.html#:~:text=WAF%E5%85%A8%E7%A7%B0%E5%8F%ABWeb,Application%20Firewall%EF%BC%8C%E5%92%8C%E4%BC%A0%E7%BB%9F%E9%98%B2%E7%81%AB%E5%A2%99%E7%9A%84%E5%8C%BA%E5%88%AB%E6%98%AF%EF%BC%8C%E5%AE%83%E6%98%AF%E5%B7%A5%E4%BD%9C%E5%9C%A8%E5%BA%94%E7%94%A8%E5%B1%82%E7%9A%84%E9%98%B2%E7%81%AB%E5%A2%99%EF%BC%8C%E4%B8%BB%E8%A6%81%E5%AF%B9web%E8%AF%B7%E6%B1%82%2F%E5%93%8D%E5%BA%94%E8%BF%9B%E8%A1%8C%E9%98%B2%E6%8A%A4%E3%80%82

Waf 工作原理:

WAF 工作方式是對接收到的數據包進行正則匹配過濾,如果正則匹配到與現有漏洞知識庫的攻擊代碼相同,則認爲這個惡意代碼,從而對於進行阻斷。所以,對於基於規則匹配的 WAF,需要每天都及時更新最新的漏洞庫。

Waf 工作過程:

解析 HTTP 請求

對接收到數據請求流量時會先判斷是否爲 HTTP/HTTPS 請求,之後會查看此 URL 請求是否在白名單之內,如果該 URL 請求在白名單列表裏,直接交給後端 Web 服務器進行響應處理,對於不在白名單之內的對數據包解析後進入到規則檢測部分。

匹配規則

解析後的數據包會進入到檢測體系中進行規則匹配,檢查該數據請求是否符合規則,識別出惡意攻擊行爲。

防禦動作

如果符合規則則交給後端 Web 服務器進行響應處理,對於不符合規則的請求會執行相關的阻斷、記錄、告警處理。

不同的 WAF 產品會自定義不同的攔截警告頁面,在日常滲透中我們也可以根據不同的攔截頁面來辨別出網站使用了哪款 WAF 產品,從而有目的性的進行 WAF 繞過。

記錄日誌

Waf 繞過

Waf 攔截會出現在安全測試的各個層面,掌握各個層面的分析和繞過技術最爲關鍵。

信息蒐集

繞過分析:抓包技術、waf說明、FUZZ測試
繞過手法:
  數據包特徵:請求方式、模擬用戶、爬蟲引擎、白名單機制
  請求速度:延時(阿里3秒)、代理池、爬蟲引擎、白名單機制

漏洞發現

工具:
綜合:awvs、xray、appscan
單點:tpscan、wpscan、st2can
觸發:
掃描速度:延時、代理池、白名單
工具指紋:特徵修改、模擬用戶
漏洞payload:數據變異、冷門掃描

漏洞利用

Sql注入、文件上傳、xss跨站、文件包含、RCE執行
Sql注入:
如需sgImap注入  修改us頭及加入代理防cc攔截自寫tamper模塊
安全狗:參考之前payload
Aliyun:基本修改指紋即可 
寶塔:匹配關鍵字外加/*等
aglmap --proxy="http://127.0.0.1:8080"  --tamper="waf.py"   --.random-agent

#文件上傳
 php截斷參考前面上傳waf繞過payload

#xss跨站
利用xsstrike繞過 加上--timeout或--proxy繞過cc
https://www.freebuf.com/sectool/142044.html
其他集合
RCE:
加密加碼繞過?算法可逆?關鍵詞繞過?提交方法?各種測試!
ex=sy=ser_replace (\\\\\\\\'\\\\\\\\', ,, \\\\\\\\'pahpxinxfo() \\\\\\\\'); assert (sy) ; asubmit
32648F90E49BAA4
文件包含:沒什麼好說的就這幾種
 ..../ ..等
權限控制:
  腳本:asp、php、jsp、aspx、py、war等
  工具:菜刀、蟻見、冰蠍
代碼:加密混淆、變量覆蓋、異或生成
行爲:指紋變異、自寫輪子
檢測:常規安全腳本工具使用

異或免殺生成工具:webshell-venmon-master

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/kYSy58AqDRxmAqDxY6gXkg