#滲透測試#漏洞挖掘#WAF分類及繞過思路

免責聲明 本教程僅為合法的教學目的而準備,嚴禁用于任何形式的違法犯罪活動及其他商業行為,在使用本教程前,您應確保該行為符合當地的法律法規,繼續閱讀即表示您需自行承擔所有操作的后果,如有異議,請立即停止本文章讀。

目錄

一、Waf分類

軟件型WAF

硬件型WAF

基于云WAF

開源型WAF

二、常見WAF進程和服務

(1) D盾

(2) 云鎖

(3) 阿里云盾

(4) 騰訊云安全

(5) 360主機衛士

(6) 網站/服務器安全狗

(7) 護衛神·入侵防護系統

(8) 網防G01政府網站綜合防護系統(“云鎖”升級版)

三、WAF識別

(1) wafw00f/WhatWaf

(2) sqlmap -identify-waf

(3) 項目地址

四、WAF規則引擎原理


一、Waf分類

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

圖片

WAF對于一些常規漏洞(如注入漏洞、XSS漏洞、命令執行漏洞、文件包含漏洞)的檢測大多是基于“正則表達式”和“AI+規則”的方法,因此會有一定的概率繞過其防御。繞過waf的測試中,有很多方法可以使用,以下常用方法:

大小寫繞過注釋符繞過編碼繞過分塊傳輸繞過使用空字節繞過關鍵字替換繞過http協議覆蓋繞過白名單ip繞過真實ip繞過Pipline繞過參數污染溢出waf繞過

可以把WAF分為四類:

云WAF類硬件WAF類軟件WAF類網站內置WAF類
云waf基于云端的檢測,安裝簡單,修改DNS解析或在服務器安裝云WAF的模塊即可。硬件WAF串聯在內網的交換機上,防護范圍大。軟件WAF安裝在服務器上根據網站流量決定占用的內存量。網站內置WAF在系統后臺內置一項安全功能以便管理者使用。在這些類別內,硬件WAF防護能力較強。

軟件型WAF

D盾:http://www.d99net.net/云鎖:https://yunsuo.qianxin.com/網防:http://www.weishi110.cn/static/index.html安全狗:https://www.safedog.cn/護衛神:https://www.hws.com/智創:https://www.zcnt.com/懸鏡:https://www.xmirror.cn/UPUPW:https://www.upupw.net/WTS-WAF:https://www.west.cn/安騎士:https://help.aliyun.com/product/28449.htmldotDefender:http://www.applicure.com/Products/

硬件型WAF

綠盟:
https://www.nsfocus.com.cn/安恒:https://www.dbappsecurity.com.cn/銥(yi)迅:https://www.yxlink.com/天融信深信服啟明星辰知道創宇F5 BIG-IP:https://www.f5.com/

基于云WAF

安全寶創宇盾:https://defense.yunaq.com/cyd/玄武盾騰訊云百度云西部數碼阿里云盾奇安信網站衛士

開源型WAF

Naxsi:https://github.com/nbs-system/naxsiOpenRASP:https://github.com/baidu/openraspModSecurity:https://github.com/SpiderLabs/ModSecurityhttps://github.com/SpiderLabs/owasp-modsecurity-crs
WAF比較常見的監測機制特點有以下幾種。?(1)異常檢測協議:拒絕不符合HTTP標準的請求,也可以只允許符合HTTP協議的部分選項通過,也有一些web應用防火墻還可以限定http協議中那些過于松散或未被完全制定的選項。 (2)增強輸入驗證:增強輸入驗證,對惡意字符進行攔截。?(3)及時補丁:及時屏蔽掉新型漏洞,避免攻擊者進行攻擊,主要依靠WAF廠商對新型漏洞的及時響應速度?(4)基于規則的保護和基于異常的保護:基于規則的保護可以提供各種web應用的安全規則,waf生產商會維護這個規則庫,并及時為其更新。用戶可以按照這些規則對應用進行全方面檢測。還有的產品可以基于合法應用數據建立模型,并以此為依據判斷應用數據的異常。但這需要對用戶企業的應用具有十分透徹的了解才可能做到?(5)狀態管理;能夠判斷用戶是否是第一次訪問,將請求重定向到默認登錄頁面并且記錄事件,或對暴力破解行為進行攔截。?(6)其他防護技術:如隱藏表單域保護、抗入侵規避技術、響應監視和信息泄露保護。 (7)配置規則:可以自定義防護的規則,如是否允許“境外ip”的訪問

二、常見WAF進程和服務

(1) D盾

服務名:d_safe進程名:D_Safe_Manage.exe、d_manage.exe

(2) 云鎖

服務端監聽端口:5555服務名:YunSuoAgent/JtAgent(云鎖Windows平臺代理服務)、YunSuoDaemon/JtDaemon(云鎖Windows平臺守護服務)進程名:yunsuo_agent_service.exe、yunsuo_agent_daemon.exe、PC.exe

(3) 阿里云盾

服務名:Alibaba?Security?Aegis?Detect?Service、Alibaba?Security?Aegis?Update?Service、AliyunService進程名:AliYunDun.exe、AliYunDunUpdate.exe、aliyun_assist_service.exe

(4) 騰訊云安全

進程名:BaradAgent.exe、sgagent.exe、YDService.exe、YDLive.exe、YDEdr.exe

(5) 360主機衛士

服務名:QHWafUpdata進程名:360WebSafe.exe、QHSrv.exe、QHWebshellGuard.exe

(6) 網站/服務器安全狗

服務名:
SafeDogCloudHelperSafedogUpdateCenterSafeDogGuardCenter(服務器安全狗守護中心)進程名:SafeDogSiteApache.exe、SafeDogSiteIIS.exe、SafeDogTray.exe、SafeDogServerUI.exe、SafeDogGuardCenter.exe、CloudHelper.exe、SafeDogUpdateCenter.exe

(7) 護衛神·入侵防護系統

服務名:hws、hwsd、HwsHostEx/HwsHostWebEx(護衛神主機大師服務)進程名:hws.exe、hwsd.exe、hws_ui.exe、HwsPanel.exe、HwsHostPanel.exe/HwsHostMaster.exe(護衛神主機大師)

(8) 網防G01政府網站綜合防護系統(“云鎖”升級版)

服務端監聽端口:5555 服務名:YunSuoAgent、YunSuoDaemon(不知是否忘了替換了!)?進程名:gov_defence_service.exe、gov_defence_daemon.exe

三、WAF識別

WAF繞過不僅要了解WAF檢查的原理,還需要識別是什么類型的WAF,不同類型,不同品牌的waf監測機制不一樣,繞過的方式也不同。

(1) wafw00f/WhatWaf

利用wafw00f識別WAF,可以在WAF指紋目錄下自行編寫腳本。這類WAF識別工具的原理基本都是根據HTTP頭部信息、狀態碼以及WAF攔截頁中的圖片、文字做為特征來進行檢測,如wafw00f工具中的yunsuo.py腳本就是根據cookie中的security_session_verify來檢測的。

/usr/lib/python3/dist-packages/wafw00f/plugins
#!/usr/bin/env pythonNAME?=?"Yunsuo"def?is_waf(self):  if?self.matchcookie("^security_session_verify"):  return?True  return?False

(2) sqlmap -identify-waf

利用sqlmap -identify-waf參數識別WAF,一樣可以在WAF指紋目錄下根據原有腳本和Awesome-WAF項目自行編寫WAF指紋識別腳本,但有時可能會因為sqlmap新老版本的原因而導致存放路徑不一樣。

更新前:/usr/share/sqlmap/waf

更新后:/usr/share/golismero/tools/sqlmap/waf

 #!/usr/bin/env python """?Copyright?(c)?2006-2013?sqlmap?developers?(http://sqlmap.org/) See the file "doc/COPYING" for copying permission """ import re from lib.core.enumsimport HTTP_HEADER from lib.core.settingsimport WAF_ATTACK_VECTORS?__product__?="ModSecurity:?Open?Source?Web?Application?Firewall?(Trustwave)" defdetect(get_page):  retval =False for vectorin WAF_ATTACK_VECTORS:  page, headers, code = get_page(get=vector)??retval?=?code?==501and?re.search(r"Reference?#[0-9A-Fa-f.]+",?page,?re.I)isNone??retval?|=?re.search(r"Mod_Security|NOYB",?headers.get(HTTP_HEADER.SERVER,""),?re.I)isnotNone if retval: break return retval

(3) 項目地址

https://github.com/sqlmapproject/sqlmaphttps://github.com/EnableSecurity/wafw00fhttps://github.com/Ekultek/WhatWafhttps://github.com/0xInfection/Awesome-

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模塊安全狗:參考之前payloadAliyun:基本修改指紋即可 寶塔:匹配關鍵字外加/*等aglmap?--proxy="http://127.0.0.1:8080"??--tamper="waf.py"???--.random-agent

圖片

圖片

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

圖片

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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/65037.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/65037.shtml
英文地址,請注明出處:http://en.pswp.cn/web/65037.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Logstash02】企業級日志分析系統ELK之Logstash 輸入 Input 插件

Logstash 使用 Logstash 命令 官方文檔 https://www.elastic.co/guide/en/logstash/current/first-event.html #各種插件 https://www.elastic.co/guide/en/logstash/current/input-plugins.html https://www.elastic.co/guide/en/logstash/current/filter-plugins.html htt…

1.4 java反射機制 簡單的java反射機制實踐

這是一個項目用于學習反射 第一個demo是利用反射構建一個對象轉換為JSON 第二個demo是用于利用類的名字以及方法名就可以直接執行的實例 package com.zy.reflectiondemo.utils;import com.zy.reflectiondemo.annotation.JsonField;import java.lang.reflect.Field; import jav…

C#設計模式(行為型模式):觀察者模式

C#設計模式:觀察者模式,讓對象間通信更優雅 在軟件開發中,我們經常會遇到一個對象的狀態發生改變,其他對象需要自動更新或做出相應反應的場景。例如: GUI事件處理: 當用戶點擊按鈕時,按鈕需要…

【Vue】:解決動態更新 <video> 標簽 src 屬性后視頻未刷新的問題

問題描述 在 Vue.js 項目&#xff0c;當嘗試動態更新 <video> 標簽的 <source> 元素 src 屬性來切換視頻時&#xff0c;遇到了一個問題&#xff1a;即使 src 屬性已更改&#xff0c;瀏覽器仍顯示舊視頻。具體表現為用戶選擇新視頻后&#xff0c;視頻區域繼續顯示之…

BerOS 文件系統路徑歸一化問題及其 Python 實現

題目背景 本文將討論一道與操作系統路徑歸一化有關的問題&#xff0c;該問題來自 BerOS 文件系統 的設計。BerOS 是一個新型操作系統&#xff0c;其文件路徑系統允許路徑中的分隔符 / 重復出現。例如&#xff0c;以下路徑被視為等價的&#xff1a; /usr//local//nginx/sbin//…

Halcon 顯示異常

//For Halcon System HOperatorSet.SetSystem("clip_region", "false"); set_system( clip_region, false) *旋轉 hom_mat2d_identity (HomMat2DIdentity1) hom_mat2d_rotate (HomMat2DIdentity1, rad( 90), 0, 0, HomMat2DRotate) affine_trans_region …

window11 wsl mysql8 錯誤分析:1698 - Access denied for user ‘root‘@‘kong.mshome.net‘

&#x1f6a8; 錯誤分析&#xff1a;1698 - Access denied for user rootkong.mshome.net 這個錯誤是因為 MySQL 的 root 用戶 使用 auth_socket 插件進行身份驗證&#xff0c;而不是使用密碼。因此&#xff0c;當你嘗試從 遠程主機 連接時&#xff0c;MySQL 會拒絕訪問。 ? …

CentOS 7安裝Docker詳細教程

本文以 CentOS7.8 為例安裝 Docker 26.1.4 、Docker Compose、以及 Docker 鏡像倉庫。 安裝方式1&#xff1a;自動安裝(使用官方腳本) 使用官網一鍵安裝命令&#xff1a; curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 或 使用國內 daocloud 一鍵安…

Java:緩存:LinkedHashMap實現Lru

文章目錄 Lru源碼分析 ??????????????LinkedHashMap維護一個LinkedHashMapEntry<K,V>的雙向鏈表對LinkedHashMap的增刪查操作,也會對鏈表進行相同的操作并改變鏈表的鏈接順序小結使用方法??????????????應用總結Lru Least Recently Used,…

通過代理用戶功能可以實現生產用戶的應用滾動修改密碼

Oracle通過代理用戶功能可以實現生產用戶的應用滾動修改密碼。 測試例子&#xff1a; 生產用戶為jyc密碼為jyc 現在要求修改jyc的密碼為abc&#xff0c;意味著所有應用都得停止同時修改。 此時可以考慮新建代理用戶proxy_jyc&#xff0c;密碼為jyc1&#xff08;實際修改建議…

Git 倉庫與文件管理筆記

Git 的三種倉庫概念 本地倉庫 (Local Repository) 位于本地 .git 文件夾中通過 git init 或 git clone 創建存儲完整的項目歷史和分支信息 遠程倉庫 (Remote Repository) 位于 GitHub、GitLab 等平臺服務器使用 git remote -v 查看所有遠程倉庫默認遠程倉庫名通常為 origin 工…

【人工智能數據科學與數據處理】——深入詳解人工智能數據科學與數據處理之數據可視化與數據庫技術

深入詳解人工智能數據科學與數據處理 在人工智能&#xff08;AI&#xff09;的數據科學與數據處理中&#xff0c;數據可視化與數據庫技術是兩項至關重要的技能。本文將深入探討數據可視化中的可視化技巧及其應用&#xff0c;以及關系型數據庫&#xff08;如MySQL、PostgreSQL&…

DES密碼的安全性分析(簡化版本)

DES仍是世界上使用最廣的&#xff08;DES發行后20年&#xff0c;互聯網的興起&#xff0c;人們開始覺得DES不安全了&#xff0c;但DES的實現成本也越來越低&#xff09; 宏觀分析&#xff1a; 密鑰空間方面&#xff1a; 密鑰長度&#xff1a;DES 算法使用 56 位的密鑰對數據…

Elasticsearch 文檔批處理 混合處理 批量操作

介紹 在 Elasticsearch 中&#xff0c;批量操作&#xff08;Bulk API&#xff09;允許你一次執行多個文檔操作&#xff08;如索引、更新、刪除&#xff09;以提高效率。批量操作對于大規模數據的插入、更新或刪除尤其有用&#xff0c;可以顯著提高處理速度。 批量操作通常是通…

計算機網絡原理(謝希仁第八版)第4章課后習題答案

第四章 網絡層 詳細計算機網絡&#xff08;謝希仁-第八版&#xff09;第四章習題全解_計算機網絡第八版謝希仁課后答案-CSDN博客 1.網絡層向上提供的服務有哪兩種&#xff1f;是比較其優缺點。網絡層向運輸層提供 “面向連接”虛電路&#xff08;Virtual Circuit&#xff09;服…

實現單例模式的五種方式

如何實現一個單例 1、構造器需要私有化 2、提供一個私有的靜態變量 3、暴露一個公共的獲取單例對象的接口 需要考慮的兩個問題 1、是否支持懶加載 2、是否線程安全 1、餓漢式 public class EagerSingleton {private static final EagerSingleton INSTANCE new EagerSi…

永磁同步電機控制算法--最大轉矩電流比控制((升級版)公式法、曲線擬合法、查表法)

一、原理介紹 id0控制方法在電機輸出相同的電磁轉矩下電機的定子電流并不是最小的,因此,采用最大轉矩電流比控制方法,使得電機在輸出相同的電磁轉矩下電機定子電流最少,實現該系統的原理框圖如圖所示。 最大轉矩電流比控制也稱單位電流輸出最大轉矩的控制,即控制id以追求最大轉…

數據挖掘——決策樹分類

數據挖掘——決策樹分類 決策樹分類Hunt算法信息增益增益比率基尼指數連續數據總結 決策樹分類 樹狀結構&#xff0c;可以很好的對數據進行分類&#xff1b; 決策樹的根節點到葉節點的每一條路徑構建一條規則&#xff1b;具有互斥且完備的特點&#xff0c;即每一個樣本均被且…

自動化文件監控與分類壓縮:實現高效文件管理

自動化文件監控與分類壓縮&#xff1a;實現高效文件管理 引言 在現代數據處理和文件管理中&#xff0c;如何高效地管理和歸檔大量文件是一個常見的挑戰。特別是在需要根據文件類型進行分類并定期歸檔的場景下&#xff0c;手動操作不僅耗時且容易出錯。為此&#xff0c;我們開…

小紅書怎么看ip所屬地?小紅書ip屬地為什么可以變

小紅書&#xff0c;作為當下熱門的社交電商平臺&#xff0c;不僅為用戶提供了豐富的購物與分享體驗&#xff0c;還通過展示用戶IP屬地信息&#xff0c;增強了網絡社交的透明度和真實性。然而&#xff0c;不少用戶發現&#xff0c;小紅書上的IP屬地并非一成不變&#xff0c;這引…