WAF入门(什么是waf、waf常见绕过方式与防御手段)
什么是waf?
传统防火墙无法解析HTTP应用层的细节,对规则的过滤过于死板,无法为Web应用提供足够的防护。为了解决上述问题,WAF应运而生。
WAF全称为Web Application Firewall,即Web应用程序防火墙。WAF属于检测型及纠正型防御控制措施,主要监视和阻止与Web应用程序之间的应用层流量,通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一种设备。
基本概念
-
WAF与传统防火墙的区别:传统防火墙基于IP和端口过滤,而WAF工作在应用层,通过解析HTTP/HTTPS流量检测SQL注入、XSS等Web攻击。
-
核心功能:包括漏洞防护(如SQL注入、XSS)、CC攻击防御、反爬虫、日志记录、IP黑名单等。
工作原理
-
检测机制:基于规则匹配(正则表达式)、攻击签名、行为分析和机器学习算法,识别并阻断恶意流量。
-
安全模型:分为主动模型(白名单)和被动模型(黑名单),前者安全性高但维护复杂,后者易部署但可能漏报。
部署方式
-
透明部署:不改变网络拓扑,故障时不影响业务。
-
反向代理部署:隐藏服务器真实IP,适用于高安全需求场景。
-
旁路/镜像部署:仅检测流量,不阻断攻击,适用于审计需求。
waf产品
-
硬件Waf:绿盟、启明、安恒、知道创宇、天融信等
硬件Waf通常的安装方式是将Waf串行部署在Web服务器前端,用于检测、阻断异常流量。常规硬件Waf的实现方式是通过代理技术代理来自外部的流量,并对请求包进行解析,通过安全规则库的攻击规则进行匹配,如成功匹配规则库中的规则,则识别为异常并进行请求阻断。
-
软件Waf:安全狗、云锁、D盾等
软件Waf则是安装在需要防护的服务器上,实现方式通常是Waf监听端口或以Web容器扩展方式进行请求检测和阻断。
-
云WAF:阿里云、安全狗、安恒、知道创宇等
云WAF,也称WEB应用防火墙的云模式,它的主要实现方式是利用DNS技术,通过移交域名解析权来实现安全防护。用户的请求首先发送到云端节点进行检测,如存在异常请求则进行拦截否则将请求转发至真实服务器。
常见waf特征
1)360 Firewall:
- 拦截状态码是493
- 响应头部包含X-Powered-By-360WZB
- 拦截的返回内容
- 引用指向http://wangshan.360.cn
- 包含文本“Sorry! Your access has been intercepted because your links may threaten website security.”
2)阿里云盾:
- 拦截的状态码为405
- 拦截的返回内容
- 引用指向http://errors.aliyun.com
- 包含文本“Sorry, your request has been blocked as it may cause potential threats to the server's security”
3)AWS (Amazon):
- 拦截状态码为403
- 响应内容头部server包含”AWS“
4)百度云加速:
server字段可能会为”Yunjiasu-nginx"或"Yunjiasu"
5)BitNinja:
拦截响应内容会包含“Security check by BitNinja”
6)思科ACE XML Gateway:
server字段有“ACE XML Gateway"
7)Cloudflare:
- 响应头部:可能有cf-ray字段;server字段包含”cloudflare";Set-Cookie包含"__cfuid=".
- 响应内容:可能包含“Attention Required!”或“Cloudflare Ray ID:”;请求无效URL会有“CLOUDFLARE_ERROR_500S_BOX”返回
8)飞塔FortiWeb:
- 响应头部:在恶意请求返回情况会有“FORTIWAFSID=”
- 拦截返回的响应内容:会引用“.fgd_icon"图标;页面内容会有”Server Unavailable!“
9)华为云WAF:
- 拦截状态码为418
- 响应头部server为HuaweiCloudWAF
- 第一次响应"Set-Cookie"包含”HWWAFSESID“和”HWWAFSESTIME“
10)IBM DataPower:
响应头部可能存在字段”X-Backside-Transport“,取值是”OK"或“FAIL"。
11)ModSecurity (Trustwave):
- 响应头部server可能会包含”Mod_Security“或”NYOB“
- 拦截的响应内容会包含”This error was generated by Mod_Security", "One or more things in your request were suspicious", "rules of the mod_security module", "Protected by Mod Security"
12)NAXSI (NBS Systems):
- 响应头部:server包含"naxsi/waf";可能存在“X-Data-Origin”字段,值包含“naxsi/waf"
- 响应内容:包含”This Request Has Been Blocked By NAXSI“
13)绿盟WAF
server字段包含”NSFocus“
14)OpenResty Lua WAF:
- 拦截状态码为406
- 响应头部:server包含”openresty/{version}"
- 拦截内容包含“openresty/{version}"
15)腾讯云WAF:
- 拦截状态码为405
- 拦截内容会指向http://waf.tencent-cloud.com
常见绕过方式
-
流量混淆:使用Base64编码、大小写变换、注释符(如
/**/
)分割敏感字符。 -
分块传输:利用HTTP分块编码规避检测。
-
协议级绕过:修改请求方法(如GET转HEAD)或模拟爬虫User-Agent。
-
加密流量:如利用Shiro的加密Cookie绕过WAF的明文检测。
防御应对
-
语义分析:结合词法、语法和语义解析,减少误报漏报(如长亭雷池WAF的智能引擎)。
-
动态规则更新:针对0day漏洞快速下发虚拟补丁(如华为云WAF最快2小时生效规则)。
-
行为分析:通过机器学习识别异常访问模式,例如高频CC攻击。
参考链接
知识点归纳(未完结,现有信息收集篇、SQL注入全篇、绕waf姿势)- Track 知识社区 - 掌控安全在线教育 - Powered by 掌控者
【開山安全笔记】WAF略知一二在工作或面试中,网安从业者经常遇到关于各类安全设备的问题。然而,初学者对于安全设备的工作原 - 掘金
Web Application Firewall 101 - Learn All About WAFs
信息安全-网安产品(WAF、蜜罐、漏洞扫描工具、安全事件系统)
防火墙详解(发展史、概念、应用、包过滤技术、状态监测包过滤技术
【深蓝实验室天魁战队】WAF的识别、检测、绕过原理与实战案例
WAF建设运营及AI应用实践 - 博客 - 腾讯安全应急响应中心
Azure Web 应用程序防火墙的工作原理 - Training | Microsoft Learn
Web应用防火墙--规则防护 | 京东云技术团队 - 掘金 (juejin.cn)
语义分析检测算法 | 雷池 WAF 社区版 (chaitin.cn)waf从入门到Bypass | Wh0ale's Blog