HVV在即,红队高频面试题【WAF绕过】

admin 2026-05-01 06:26:25 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文系统梳理了WAF绕过技术在红队面试与实战中的核心要点,详细解析了WAF的分类、检测原理及五种主流绕过思路(协议层、特征层、性能层、解析差异、白名单)。通过SQL注入与XSS场景的实战案例演示了内联注释、分块传输等具体绕过技巧,并提供了sqlmap参数配置等可操作建议,帮助候选人掌握漏洞利用前的关键突破技能。 综合评分: 88 文章分类: 渗透测试,WEB安全,红队,内网渗透,安全工具


cover_image

HVV在即,红队高频面试题【WAF 绕过】

原创

仙草里没有草噜丶 仙草里没有草噜丶

泷羽Sec

2026年4月30日 07:48 湖南

在小说阅读器读本章

去阅读

在 Web 安全、渗透测试相关岗位的面试中,WAF 绕过是必考的高频考点,既会考察候选人对 WAF 基础原理的理解,也会通过场景题考察实战能力。在红蓝对抗场景中,WAF 是红队突破 Web 站点防护的第一道关卡,掌握 WAF 绕过技巧,是完成漏洞利用、获取站点权限的基础。本文结合面试真题与实战场景,梳理高频面试题的标准应答思路,同时附带完整的实操步骤与命令输出,适配面试应答与真实对抗场景。

1、什么是 WAF?WAF 分为哪几类?各自的特点是什么?

面试标准应答:WAF 是 Web 应用防火墙,是部署在 Web 应用前端,针对 HTTP/HTTPS 流量进行检测与拦截的安全防护设备或软件,用于防护 Web 应用常见的 SQL 注入、XSS、命令执行等漏洞攻击。WAF 主要分为三类,第一类是硬件型 WAF,以物理硬件的形式部署在机房出口,性能强,支持高并发流量,部署成本高,适合大型企业使用;第二类是软件型 WAF,以软件程序的形式部署在 Web 服务器上,比如 ModSecurity、Naxsi,部署灵活,成本低,适配中小站点;第三类是云 WAF,以云服务的形式提供防护,站点只需要将域名解析到云 WAF 节点,流量经过云 WAF 清洗后再转发到源站,无需部署硬件或软件,接入便捷,支持弹性扩容,适配各类规模的站点。

面试提示:这个题是 Web 安全岗位的入门必考题,应答时需要先给出明确定义,再分类说明对应特点,不要只说分类不讲应用场景,同时可以补充不同类型 WAF 的绕过侧重点,比如硬件 WAF 规则覆盖全面,云 WAF 有 CDN 相关的特性,软件 WAF 可通过服务器解析特性绕过。

2、WAF 的检测原理有哪些?

面试标准应答:WAF 的检测原理主要分为四类,第一类是特征匹配,WAF 内置规则库,将 HTTP 流量中的内容与规则库中的恶意特征进行匹配,匹配成功则触发拦截,这是最基础也是最常用的检测方式;第二类是行为分析,WAF 会统计请求的行为特征,比如短时间内的请求频率、请求路径的规律、异常的参数提交行为,当行为符合攻击特征时触发拦截;第三类是语义分析,WAF 会对请求内容进行语法与语义解析,识别其中的攻击语句逻辑,而非单纯的特征匹配,可绕过简单的变形攻击;第四类是机器学习检测,WAF 通过训练好的机器学习模型,对请求内容进行分类,识别异常的攻击请求,适配新型的攻击方式。

3、常见的 WAF 绕过整体思路有哪些?

面试标准应答:常见的 WAF 绕过思路分为五个方向,第一类是协议层面的绕过,利用 HTTP 协议的规范特性,构造 WAF 解析异常但 Web 服务器可正常解析的请求,实现绕过;第二类是特征层面的绕过,对攻击 payload 进行变形、加密、拆分,打破 WAF 的特征匹配规则,同时保证 Web 服务器可正常执行;第三类是性能层面的绕过,构造超大体积的请求,让 WAF 只检测部分请求内容,将攻击 payload 放在 WAF 未检测的部分;第四类是解析差异绕过,利用 WAF 与 Web 服务器对 HTTP 请求的解析差异,构造 WAF 认为无害但 Web 服务器会执行攻击的请求;第五类是白名单绕过,利用 WAF 的白名单规则,比如对特定的 User-Agent、IP 地址、路径不做检测,伪造对应的请求特征实现绕过。

WAF 绕过进阶面试高频题与实战详解

1、如何识别目标站点使用的 WAF 产品?识别的原理是什么?

面试标准应答:识别 WAF 产品主要有两种方式,第一种是被动识别,通过站点的响应头、响应内容、拦截页面的特征,识别 WAF 产品,比如不同 WAF 产品的拦截页面有固定的标题、内容、响应码,响应头中会带有特定的字段,比如 Cloudflare 的响应头会带有 cf-ray 字段;第二种是主动探测,通过构造恶意的攻击请求,触发 WAF 的拦截,根据拦截的响应特征、响应码、拦截规则 ID,识别 WAF 的产品与版本,也可以通过 wafw00f、whatwaf 等自动化工具进行识别。识别的主要原理是不同 WAF 产品的拦截页面、响应头、规则特征都有固定的指纹,通过匹配这些指纹,即可确定对应的 WAF 产品。

实战操作

首先使用 wafw00f 工具对靶机 WAF 进行自动化识别,命令与输出结果如下:

kali@kali:~$ wafw00f http://192.168.31.102
[*] Checking http://192.168.31.102
[+] The site http://192.168.31.102 is behind ModSecurity (OWASP CRS) WAF.
[*] Number of requests: 7

如果 wafw00f 无法识别出 WAF 产品,可以手动构造恶意请求,查看拦截页面的特征,用 curl 发送带有 SQL 注入特征的请求,命令与输出结果如下:

kali@kali:~$ curl "http://192.168.31.102/test.php?id=1' union select 1,2,3--+" -i
HTTP/1.1 403 Forbidden
Date: Wed, 29 Apr 2026 07:10:22 GMT
Server: Apache
Content-Length: 199
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC&nbsp;"-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access this resource.</p>
</body></html>

这里返回 403 拦截,结合响应头的 Server 字段,以及 OWASP CRS 的规则特征,可确定靶机使用的是 ModSecurity WAF。面试中这个题常和后续的场景题结合,面试官会先问如何识别 WAF,再问针对该 WAF 的绕过方法,需要提前熟悉常见 WAF 产品的特征与绕过侧重点。

2、SQL 注入场景下,WAF 的常见检测点有哪些?对应的绕过方法是什么?

面试标准应答:SQL 注入场景下,WAF 的常见检测点主要有四个,第一是 SQL 关键字的检测,比如 union、select、and、or、where 等关键字,WAF 会匹配这些关键字的出现;第二是 SQL 语句的结构匹配,比如 union select 的固定结构,and 1=1 的恒真语句结构;第三是特殊符号的检测,比如单引号、双引号、注释符、分号等 SQL 注入常用的符号;第四是 SQL 函数的检测,比如 version ()、database ()、user () 等常用的注入函数。

对应的绕过方法,针对关键字检测,可以使用大小写变形、关键字拆分、内联注释、双写绕过等方法;针对语句结构匹配,可以使用换行符、空白符拆分语句,插入垃圾字符打破固定结构;针对特殊符号检测,可以使用 URL 编码、Unicode 编码替换特殊符号,或者使用等价的符号替代;针对函数检测,可以使用函数嵌套、等价函数替换的方法。

实战操作

靶机的 test.php 存在 SQL 注入漏洞,原始的 union select 语句被 WAF 拦截,演示两种常用的绕过方法,命令与输出如下:

# 原始语句被拦截,返回403状态码
kali@kali:~$ curl&nbsp;"http://192.168.31.102/test.php?id=1' union select 1,2,3--+"&nbsp;-i | grep HTTP/
HTTP/1.1 403 Forbidden

# 内联注释拆分关键字,绕过拦截
kali@kali:~$ curl&nbsp;"http://192.168.31.102/test.php?id=1' /*!union*/ /*!select*/ 1,2,3--+"&nbsp;-i | grep HTTP/
HTTP/1.1 200 OK

# 大小写变形绕过,返回200状态码
kali@kali:~$ curl&nbsp;"http://192.168.31.102/test.php?id=1' uNiOn sElEcT 1,2,3--+"&nbsp;-i | grep HTTP/
HTTP/1.1 200 OK

内联注释是 MySQL 特有的语法,/*! */ 包裹的内容,MySQL 会正常执行,而 WAF 会将其识别为普通注释,不做检测,这个方法在 MySQL 注入场景中非常常用。

通过上面两个案例可以看到,内联注释绕过和大小写变形绕过的区别在于,大小写变形只能绕过不区分大小写的简单规则,而内联注释可以直接打破关键字的特征匹配,适配更严格的 WAF 规则,同时内联注释还可以插入版本号,只在特定 MySQL 版本中执行,进一步降低被检测的概率。

如果上述方法绕过失败,可以尝试用特殊字符替代空格,比如用 %09、%0a、%0d 等 URL 编码的空白符替代空格,打破固定的语句结构,也可以用括号包裹关键字,比如 union (select (1),(2),(3)),规避空格相关的检测规则。

3、XSS 场景下,WAF 的常见检测规则,如何绕过?

面试标准应答:XSS 场景下,WAF 的常见检测规则主要有三个,第一是 HTML 标签的检测,比如<script>、<img>、<iframe>等常用的 XSS 标签;第二是 JavaScript 事件的检测,比如 onclick、onload、onerror 等事件;第三是 JavaScript 关键字与函数的检测,比如 alert、document.cookie、eval 等。

对应的绕过方法,针对标签检测,可以使用大小写变形、标签属性拆分、不常用标签替代的方法;针对事件检测,可以使用换行符、空白符拆分事件名称,或者使用不常用的事件替代;针对关键字检测,可以使用编码绕过、字符串拼接的方法,也可以使用 JavaScript 的注释拆分关键字。

实战操作

靶机的 xss.php 存在反射型 XSS 漏洞,原始的<script>alert(1)</script>被 WAF 拦截,演示绕过方法,命令与输出如下:

# 原始payload被拦截,返回403状态码
kali@kali:~$ curl&nbsp;"http://192.168.31.102/xss.php?content=<script>alert(1)</script>"&nbsp;-i | grep HTTP/
HTTP/1.1 403 Forbidden

# 不常用标签+事件绕过,返回200状态码
kali@kali:~$ curl&nbsp;"http://192.168.31.102/xss.php?content=<IMG SRC=x ONERROR=alert(1)>"&nbsp;-i | grep HTTP/
HTTP/1.1 200 OK

# Unicode编码绕过,对alert函数进行编码,返回200状态码
kali@kali:~$ curl&nbsp;"http://192.168.31.102/xss.php?content=<svg onload=&#97;&#108;&#101;&#114;&#116;(1)>"&nbsp;-i | grep HTTP/
HTTP/1.1 200 OK

如果 WAF 拦截了 alert 函数,可以使用 console.log、prompt、confirm 等函数替代,验证 XSS 漏洞的存在,面试中这个点是常考的细节,很多候选人只会用 alert,被面试官问到 alert 被拦截怎么办时,无法给出对应的解决方法。

4、HTTP 协议层面的 WAF 绕过方法有哪些?

面试标准应答:HTTP 协议层面的 WAF 绕过方法主要有六个,第一是请求方法切换,将 GET 请求切换为 POST 请求,部分 WAF 只对 GET 请求的参数做严格检测,对 POST 请求的检测较为宽松;第二是请求头伪造,伪造 WAF 的白名单请求头,比如 X-Forwarded-For 设置为 127.0.0.1,伪造本地访问,或者伪造搜索引擎的 User-Agent,利用 WAF 对搜索引擎爬虫的白名单规则;第三是 Content-Type 修改,将 application/x-www-form-urlencoded 改为 multipart/form-data,部分 WAF 对 multipart/form-data 格式的请求体检测不严格;第四是 URL 编码绕过,对 payload 进行多次 URL 编码,WAF 只做一次解码,而 Web 服务器会做多次解码,实现绕过;第五是换行符与空白符插入,在 HTTP 请求头、请求体中插入换行符、制表符,打破 WAF 的特征匹配,而 Web 服务器可正常解析;第六是分块传输编码,使用 Transfer-Encoding: chunked,将请求体分块传输,部分 WAF 无法正常解析分块的请求体,实现绕过。

实战操作

演示分块传输编码绕过,原始 POST 请求中的 SQL 注入 payload 被拦截,使用分块传输拆分 payload,实现绕过,命令与输出如下:

# 原始POST请求被拦截,返回403状态码
kali@kali:~$ curl -X POST&nbsp;"http://192.168.31.102/test.php"&nbsp;-d&nbsp;"id=1' union select 1,2,3--+"&nbsp;-i | grep HTTP/
HTTP/1.1 403 Forbidden

# 分块传输编码绕过,返回200状态码
kali@kali:~$ curl -X POST&nbsp;"http://192.168.31.102/test.php"&nbsp;-H&nbsp;"Transfer-Encoding: chunked"&nbsp;-d&nbsp;"3
id=1
a
' un
b
ion se
c
lect 1,2,3--+
0

"&nbsp;-i | grep HTTP/
HTTP/1.1 200 OK

分块传输的格式要求,每个分块的开头是分块内容的十六进制长度,然后换行,再是分块内容,最后以 0 加两个换行结束。部分 WAF 对分块传输的请求体解析不完整,只会检测单个分块的内容,无法将拆分的 payload 拼接起来,从而实现绕过。如果分块传输绕过失败,可以调整分块的大小,将关键字拆分到不同的分块中,提升绕过的成功率。

WAF 绕过实操面试高频题与应答思路

1、sqlmap 中,用于 WAF 绕过的常用参数有哪些?分别的作用是什么?

面试标准应答:sqlmap 中用于 WAF 绕过的常用参数主要有八个,

1、–tamper,用于指定 tamper 脚本,对 payload 进行变形处理,绕过 WAF 的特征匹配;

2、–random-agent,使用随机的 User-Agent 请求头,避免 WAF 对 sqlmap 默认的 User-Agent 进行拦截;

3、–delay,设置每次请求的延迟时间,降低请求频率,绕过 WAF 的行为检测;

4、–timeout,设置请求的超时时间,适配 WAF 拦截后的超时响应;

5、–proxy,设置代理,隐藏攻击机的 IP 地址,绕过 WAF 的 IP 封禁规则;

6、–level,设置检测的等级,等级越高,检测的参数与位置越多,可适配 WAF 对不同位置的检测规则;

7、–risk,设置检测的风险等级,调整 payload 的风险程度,适配 WAF 的拦截规则;

8、–chunked,使用分块传输编码发送请求体,绕过 WAF 对 POST 请求体的检测。

2、当 WAF 拦截了 and、or 等逻辑运算符,你会怎么处理?

面试标准应答:当 and、or 被拦截时,有四个处理方法,第一是使用符号替代,and 用 && 替代,or 用 || 替代,注意对符号进行 URL 编码,避免被 WAF 检测;第二是使用大小写变形,比如 And、OR、aNd 等,绕过不区分大小写的规则;第三是使用注释拆分关键字,比如 a/xx/nd、o/xx/r,打破特征匹配;第四是使用等价的逻辑语句替代,比如 and 1=1 可以用 where 1 limit 0,1 替代,or 1=1 可以用 union select 替代,实现相同的注入效果。

WAF 绕过的注意事项

1、所有 WAF 绕过测试,必须在拿到目标站点的正式授权后进行,禁止对未授权的站点发起任何攻击测试,遵守《网络安全法》相关的法律法规要求。

2、WAF 绕过技巧需要根据目标 WAF 的产品与规则进行调整,不同的 WAF 产品有不同的检测逻辑,单一的绕过方法无法适配所有的 WAF,需要组合使用多种技巧。

3、请不要使用公开的 tamper 脚本直接进行无差别测试,这类脚本的特征已经被大部分 WAF 收录,很容易触发拦截,建议自定义 tamper 脚本,调整 payload 的变形方式。

4、绕过测试时,需要控制请求的频率,避免短时间内发起大量的恶意请求,触发 WAF 的行为检测,导致攻击机 IP 被封禁。

5、在红蓝对抗场景中,WAF 绕过测试需要先在本地环境中完成验证,再对目标站点进行测试,避免直接触发蓝队的告警,导致攻击行为被暴露。

结尾

WAF 绕过是 Web 渗透测试的基础技能,也是面试中的高频考点,既需要掌握 WAF 的基础原理与检测逻辑,也需要具备实战场景中的 payload 变形与绕过能力。本文梳理的面试高频题,覆盖了从基础原理到实战操作的全部分类,附带的实操步骤均经过真实环境测试,可直接用于面试应答与红蓝对抗场景。随着 WAF 检测规则的不断更新,绕过技巧也需要持续优化,掌握 HTTP 协议规范与 Web 服务器的解析特性,才能应对不同的 WAF 防护场景。

广告时间


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:泷羽Sec 仙草里没有草噜丶 仙草里没有草噜丶《HVV在即,红队高频面试题【WAF 绕过】》

评论:0   参与:  0