你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Web 应用程序防火墙 DRS 和 CRS 规则组和规则

出现常见的漏洞和攻击时,应用程序网关 Web 应用程序防火墙 (WAF) 中由 Azure 管理的规则集会主动保护 Web 应用程序。 这些规则集由 Azure 管理,根据需要接收更新,以针对新的攻击特征进行安全防护。 默认规则集还包含 Microsoft 威胁情报收集规则。 Microsoft 情报团队协作编写这些规则,确保增强覆盖范围、特定漏洞修补程序并改进误报。

你还可以选择使用基于 OWASP 核心规则集 3.2、3.1、3.0 或 2.2.9 定义的规则。

你可以单独禁用各个规则,也可以为每个规则设置特定操作。 本文包含当前可用的规则和规则集。 如果已发布的规则集需要更新,我们将在此处记录它。

注意

当 WAF 策略中的规则集版本发生更改时,对规则集所做的任何现有自定义都将重置为新规则集的默认值。 请参阅:升级或更改规则集版本

默认规则集

Azure 托管的默认规则集 (DRS) 包含针对以下威胁类别的规则:

  • 跨站点脚本
  • Java 攻击
  • 本地文件包含
  • PHP 注入攻击
  • 远程命令执行
  • 远程文件包含
  • 会话固定
  • SQL 注入保护
  • 协议攻击者。将新的攻击签名添加到规则集时,DRS 的版本号将递增。

Microsoft 威胁情报收集规则

Microsoft 威胁情报收集规则由 Microsoft 威胁情报团队合作编写,以提供更高的覆盖范围、针对特定漏洞的补丁,并更好地减少误报。

注意

在应用程序网关 WAF 上开始使用 2.1 时,请使用以下指导来优化 WAF。 规则的详细信息如下所述。

规则 ID 规则组 说明 详细信息
942110 SQLI SQL 注入攻击:检测到常见注入测试 禁用,替换为 MSTIC 规则 99031001
942150 SQLI SQL 注入攻击 禁用,替换为 MSTIC 规则 99031003
942260 SQLI 检测到基本 SQL 身份验证绕过尝试 2/3 禁用,替换为 MSTIC 规则 99031004
942430 SQLI 受限 SQL 字符异常情况检测 (args):已超出特殊字符数 (12) 禁用,误报过多。
942440 SQLI 检测到 SQL 注释序列 禁用,替换为 MSTIC 规则 99031002
99005006 MS-ThreatIntel-WebShells Spring4Shell 交互尝试 保持启用规则以防止 SpringShell 漏洞
99001014 MS-ThreatIntel-CVEs 尝试使用 Spring Cloud 路由表达式注入 CVE-2022-22963 保持启用规则以防止 SpringShell 漏洞
99001015 MS-ThreatIntel-WebShells 尝试使用 Spring Framework 不安全类对象利用 CVE-2022-22965 保持启用规则以防止 SpringShell 漏洞
99001016 MS-ThreatIntel-WebShells 尝试 Spring Cloud 网关执行器注入 CVE-2022-22947 保持启用规则以防止 SpringShell 漏洞
99001017 MS-ThreatIntel-CVEs 尝试使用 Apache Struts 文件上传利用 CVE-2023-50164 将操作设置为“阻止”可防止 Apache Struts 漏洞。 此规则不支持异常分数。

核心规则集

默认情况下,应用程序网关 WAF 预配置了 CRS 3.2,但你可以选择使用任何其他受支持的 CRS 版本。

与早期版本的 CRS 相比,CRS 3.2 提供了一个新引擎和新规则集来防御 Java 注入、一组初始文件上传检查以及误报更少。 还可以根据需求自定义规则。 详细了解新的 Azure WAF 引擎

管理规则

WAF 可针对以下 Web 漏洞提供保护:

  • SQL 注入攻击
  • 跨站点脚本攻击
  • 其他常见攻击,例如命令注入、HTTP 请求走私、HTTP 响应拆分和远程文件包含
  • HTTP 协议违规
  • HTTP 协议异常,例如缺少主机用户代理和接受标头
  • 自动程序、爬网程序和扫描程序
  • 常见应用程序错误配置(例如 Apache 和 IIS)

优化托管规则集

DRS 和 CRS 在 WAF 策略的检测模式下默认启用。 可以禁用或启用托管规则集内的各个规则,以满足应用程序要求。 还可以根据规则设置特定操作。 DRS/CRS 支持块、日志和异常分数操作。 Bot Manager 规则集支持允许、阻止和记录操作。

有时你可能需要忽略 WAF 评估中的某些请求属性。 一个常见的例子是用于身份验证的 Active Directory 插入令牌。 可以将排除项配置为在评估特定 WAF 规则时应用,或全局应用于所有 WAF 规则的评估。 排除规则适用于整个 Web 应用。 有关详细信息,请参阅包含应用程序网关排除列表的 Web 应用程序防火墙 (WAF)

默认情况下,当请求与规则匹配时,DRS 版本 2.1 / CRS 版本 3.2 及更高版本会使用异常评分。 默认情况下,CRS 3.1 和更低版本会阻止匹配的请求。 此外,如果想要绕过核心规则集中的任何预配置规则,可以在同一 WAF 策略中配置自定义规则。

在评估核心规则集中的规则之前,自定义规则始终适用。 如果请求与某个自定义规则相匹配,将应用相应的规则操作。 请求将被阻止,或通过后端传递。 不会处理任何其他自定义规则或核心规则集中的规则。

异常评分

使用 CRS 或 DRS 2.1 及更高版本时,WAF 默认配置为使用异常评分。 即使 WAF 处于防护模式,也不会立即阻止与任何规则匹配的流量。 相反,OWASP 规则集会为每个规则定义严重性:“严重”、“错误”、“警告”或“通知”。 这些严重性会影响请求的数值,该数值称为异常分数:

规则严重性 对异常分数的贡献值
严重 5
错误 4
警告 3
通知 2

如果异常分数为 5 或更高,并且 WAF 处于预防模式,则会阻止请求。 如果异常分数为 5 或更高,并且 WAF 处于检测模式,则会记录请求,但不会阻止请求。

例如,在预防模式下,一个“严重”规则匹配就足以让 WAF 阻止请求,因为总体异常分数为 5。 但一个“警告”规则匹配仅使异常分数增加 3,而这并不足以阻止流量。 触发异常规则时,它会在日志中显示“匹配”操作。 如果异常分数为 5 或更高,则根据 WAF 策略是处于预防模式还是检测模式,系统会使用“已阻止”或“检测到”操作触发单独的规则。 有关详细信息,请参阅异常评分模式

升级或更改规则集版本

如果要升级或分配新的规则集版本,并且希望保留现有的规则替代和排除项,建议使用 PowerShell、CLI、REST API 或模板来更改规则集版本。 规则集的新版本可以有更新的规则、附加规则组,并可能对现有签名进行更新,以强制实施更好的安全性并减少误报。 建议在测试环境中验证更改,在必要时进行微调,然后在生产环境中进行部署。

注意

如果使用 Azure 门户将新的托管规则集分配给 WAF 策略,则现有托管规则集的所有先前自定义项(例如规则状态、规则操作和规则级别排除)都将重置为新托管规则集的默认值。 但是,在分配新规则集期间,任何自定义规则、策略设置和全局排除均不受影响。 在生产环境中进行部署之前,需要重新定义规则替代项并验证更改。

DRS 2.1

DRS 2.1 规则可以比早期版本的 DRS 提供更好的保护。 它包括 Microsoft 威胁情报团队开发的更多规则和特征更新,因此可以减少误报。 它还支持 URL 解码以外的转换。

DRS 2.1 包括下表中所示的 17 个规则组。 每个组包含多个规则,你可以自定义各个规则、规则组或整个规则集的行为。 DRS 2.1 以 Open Web Application Security Project (OWASP) 核心规则集 (CRS) 3.3.2 为基础,包括 Microsoft 威胁情报团队开发的其他专有保护规则。

规则组 ruleGroupName 说明
常规 常规 常规组
METHOD-ENFORCEMENT METHOD-ENFORCEMENT 锁定方法(PUT、PATCH)
PROTOCOL-ENFORCEMENT PROTOCOL-ENFORCEMENT 防范协议和编码问题
PROTOCOL-ATTACK PROTOCOL-ATTACK 防范标头注入、请求走私和响应拆分
APPLICATION-ATTACK-LFI LFI 防范文件和路径攻击
APPLICATION-ATTACK-RFI RFI 防范远程文件包含 (RFI) 攻击
APPLICATION-ATTACK-RCE RCE 防范远程代码执行攻击
APPLICATION-ATTACK-PHP PHP 防范 PHP 注入攻击
APPLICATION-ATTACK-NodeJS NODEJS 防范 Node JS 攻击
APPLICATION-ATTACK-XSS XSS 防范跨站点脚本攻击
APPLICATION-ATTACK-SQLI SQLI 防范 SQL 注入攻击
APPLICATION-ATTACK-SESSION-FIXATION FIX 防范会话固定攻击
APPLICATION-ATTACK-SESSION-JAVA JAVA 防范 JAVA 攻击
MS-ThreatIntel-WebShells MS-ThreatIntel-WebShells 防范 Web shell 攻击
MS-ThreatIntel-AppSec MS-ThreatIntel-AppSec 防范 AppSec 攻击
MS-ThreatIntel-SQLI MS-ThreatIntel-SQLI 防范 SQLI 攻击
MS-ThreatIntel-CVEs MS-ThreatIntel-CVEs 防范 CVE 攻击

OWASP CRS 3.2

CRS 3.2 包括下表中所示的 14 个规则组。 每个组包含多个可以禁用的规则。 规则集基于 OWASP CRS 3.2.0 版本。

注意

CRS 3.2 仅在 WAF_v2 SKU 上可用。 由于 CRS 3.2 在新 Azure WAF 引擎上运行,因此无法降级到 CRS 3.1 或更早版本。 如果需要降级,请联系 Azure 支持部门

规则组名称 说明
常规 常规组
KNOWN-CVES 帮助检测新的和已知的 CVE
REQUEST-911-METHOD-ENFORCEMENT 锁定方法(PUT、PATCH)
REQUEST-913-SCANNER-DETECTION 防范端口和环境扫描程序
REQUEST-920-PROTOCOL-ENFORCEMENT 防范协议和编码问题
REQUEST-921-PROTOCOL-ATTACK 防范标头注入、请求走私和响应拆分
REQUEST-930-APPLICATION-ATTACK-LFI 防范文件和路径攻击
REQUEST-931-APPLICATION-ATTACK-RFI 防范远程文件包含 (RFI) 攻击
REQUEST-932-APPLICATION-ATTACK-RCE 防范远程代码执行攻击
REQUEST-933-APPLICATION-ATTACK-PHP 防范 PHP 注入攻击
REQUEST-941-APPLICATION-ATTACK-XSS 防范跨站点脚本攻击
REQUEST-942-APPLICATION-ATTACK-SQLI 防范 SQL 注入攻击
REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION 防范会话固定攻击
REQUEST-944-APPLICATION-ATTACK-JAVA 防范 JAVA 攻击

OWASP CRS 3.1

CRS 3.1 包括下表中所示的 14 个规则组。 每个组包含多个可以禁用的规则。 规则集基于 OWASP CRS 3.1.1 版本。

注意

CRS 3.1 仅在 WAF_v2 SKU 上可用。

规则组名称 说明
常规 常规组
KNOWN-CVES 帮助检测新的和已知的 CVE
REQUEST-911-METHOD-ENFORCEMENT 锁定方法(PUT、PATCH)
REQUEST-913-SCANNER-DETECTION 防范端口和环境扫描程序
REQUEST-920-PROTOCOL-ENFORCEMENT 防范协议和编码问题
REQUEST-921-PROTOCOL-ATTACK 防范标头注入、请求走私和响应拆分
REQUEST-930-APPLICATION-ATTACK-LFI 防范文件和路径攻击
REQUEST-931-APPLICATION-ATTACK-RFI 防范远程文件包含 (RFI) 攻击
REQUEST-932-APPLICATION-ATTACK-RCE 防范远程代码执行攻击
REQUEST-933-APPLICATION-ATTACK-PHP 防范 PHP 注入攻击
REQUEST-941-APPLICATION-ATTACK-XSS 防范跨站点脚本攻击
REQUEST-942-APPLICATION-ATTACK-SQLI 防范 SQL 注入攻击
REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION 防范会话固定攻击
REQUEST-944-APPLICATION-ATTACK-SESSION-JAVA 防范 JAVA 攻击

OWASP CRS 3.0

CRS 3.0 包含下表中所示的 13 个规则组。 每个组包含多个可以禁用的规则。 规则集基于 OWASP CRS 3.0.0 版本。

规则组名称 说明
常规 常规组
KNOWN-CVES 帮助检测新的和已知的 CVE
REQUEST-911-METHOD-ENFORCEMENT 锁定方法(PUT、PATCH)
REQUEST-913-SCANNER-DETECTION 防范端口和环境扫描程序
REQUEST-920-PROTOCOL-ENFORCEMENT 防范协议和编码问题
REQUEST-921-PROTOCOL-ATTACK 防范标头注入、请求走私和响应拆分
REQUEST-930-APPLICATION-ATTACK-LFI 防范文件和路径攻击
REQUEST-931-APPLICATION-ATTACK-RFI 防范远程文件包含 (RFI) 攻击
REQUEST-932-APPLICATION-ATTACK-RCE 防范远程代码执行攻击
REQUEST-933-APPLICATION-ATTACK-PHP 防范 PHP 注入攻击
REQUEST-941-APPLICATION-ATTACK-XSS 防范跨站点脚本攻击
REQUEST-942-APPLICATION-ATTACK-SQLI 防范 SQL 注入攻击
REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION 防范会话固定攻击

OWASP CRS 2.2.9

CRS 2.2.9 包含下表中所示的 10 个规则组。 每个组包含多个可以禁用的规则。

注意

新的 WAF 策略不再支持 CRS 2.2.9。 建议升级到最新的 CRS 3.2/DRS 2.1 及更高版本。

规则组名称 说明
crs_20_protocol_violations 防范协议违规(例如无效字符,或使用请求正文执行 GET)
crs_21_protocol_anomalies 防范错误的标头信息
crs_23_request_limits 防范参数或文件超出限制
crs_30_http_policy 防范受限的方法、标头和文件类型
crs_35_bad_robots 防范 Web 爬网程序和扫描程序
crs_40_generic_attacks 防范常规攻击(例如会话固定、远程文件包含和 PHP 注入)
crs_41_sql_injection_attacks 防范 SQL 注入攻击
crs_41_xss_attacks 防范跨站点脚本攻击
crs_42_tight_security 防范路径遍历攻击
crs_45_trojans 防范后门特洛伊木马

Bot Manager 1.0

Bot Manager 1.0 规则集可防范恶意机器人并检测出善意机器人。 这些规则通过将机器人流量划分为“善意”、“恶意”或“未知”机器人,对 WAF 检测到的机器人进行精细控制。

规则组 说明
BadBots 防范恶意机器人
GoodBots 识别善意机器人
UnknownBots 标识未知机器人

Bot Manager 1.1

Bot Manager 1.1 规则集是 Bot Manager 1.0 规则集的增强版。 它增强了对恶意机器人的防范,并增加了善意机器人检测。

规则组 说明
BadBots 防范恶意机器人
GoodBots 识别善意机器人
UnknownBots 标识未知机器人

在应用程序网关上使用 Web 应用程序防火墙时可以使用以下规则组和规则。

2.1 规则集

常规

RuleId 说明
200002 未能分析请求正文。
200003 多部分请求正文无法通过严格的验证

METHOD ENFORCEMENT

RuleId 说明
911100 方法不被策略允许

PROTOCOL-ENFORCEMENT

RuleId 说明
920100 无效的 HTTP 请求行
920120 尝试了多部分/表单数据绕过
920121 尝试了多部分/表单数据绕过
920160 Content-Length HTTP 标头不是数字。
920170 包含正文内容的 GET 或 HEAD 请求。
920171 包含 Transfer-Encoding 的 GET 或 HEAD 请求。
920180 POST 请求缺少 Content-Length 标头。
920181 Content-Length 和 Transfer-Encoding 标头存在 99001003
920190 范围:最后一个字节值无效。
920200 范围:字段太多(6 个或以上)
920201 范围:pdf 请求的字段太多(35 个或以上)
920210 找到了多个/有冲突的连接标头数据。
920220 URL 编码滥用攻击尝试
920230 检测到多个 URL 编码
920240 URL 编码滥用攻击尝试
920260 Unicode 全角/半角滥用攻击企图
920270 请求中的字符无效(null 字符)
920271 请求中的字符无效(不可列显的字符)
920280 请求缺少 Host 标头
920290 Host 标头为空
920300 请求缺少 Accept 标头
920310 请求包含空的 Accept 标头
920311 请求包含空的 Accept 标头
920320 缺少用户代理标头
920330 用户代理标头为空
920340 请求包含内容但缺少 Content-Type 标头
920341 请求包含内容,但需要 Content-Type 标头
920350 Host 标头是数字 IP 地址
920420 策略不允许请求内容类型
920430 策略不允许 HTTP 协议版本
920440 策略限制了 URL 文件扩展名
920450 策略限制了 HTTP 标头
920470 Content-Type 标头非法
920480 策略不允许请求内容类型字符集
920500 尝试访问备份或正在工作的文件

PROTOCOL-ATTACK

RuleId 说明
921110 HTTP 请求走私攻击
921120 HTTP 响应拆分攻击
921130 HTTP 响应拆分攻击
921140 通过标头展开的 HTTP 标头注入攻击
921150 通过有效负载展开的 HTTP 标头注入攻击(检测到 CR/LF)
921151 通过有效负载展开的 HTTP 标头注入攻击(检测到 CR/LF)
921160 通过有效负载展开的 HTTP 标头注入攻击(检测到 CR/LF 和标头名称)
921190 HTTP 拆分(在请求文件名中检测到 CR/LF)
921200 LDAP 注入攻击

LFI - 本地文件包含

RuleId 说明
930100 路径遍历攻击 (/../)
930110 路径遍历攻击 (/../)
930120 OS 文件访问企图
930130 受限文件访问企图

RFI - 远程文件包含

RuleId 说明
931100 可能的远程文件包含 (RFI) 攻击:使用 IP 地址的 URL 参数
931110 可能的远程文件包含 (RFI) 攻击:对 URL 有效负载使用常见 RFI 漏洞参数名
931120 可能的远程文件包含 (RFI) 攻击:在 URL 有效负载中使用尾随问号 (?)
931130 可能的远程文件包含 (RFI) 攻击:域外引用/链接

RCE - 远程命令执行

RuleId 说明
932100 远程命令执行:Unix 命令注入
932105 远程命令执行:Unix 命令注入
932110 远程命令执行:Windows 命令注入
932115 远程命令执行:Windows 命令注入
932120 远程命令执行:找到 Windows PowerShell 命令
932130 远程命令执行:找到了 Unix Shell 表达式或 Confluence 漏洞 (CVE-2022-26134)
932140 远程命令执行:找到 Windows FOR/IF 命令
932150 远程命令执行:直接 Unix 命令执行
932160 远程命令执行:找到 Unix Shell 代码
932170 远程命令执行:Shellshock (CVE-2014-6271)
932171 远程命令执行:Shellshock (CVE-2014-6271)
932180 受限文件上传企图

PHP 攻击

RuleId 说明
933100 PHP 注入攻击:找到开始/结束标记
933110 PHP 注入攻击:找到 PHP 脚本文件上传
933120 PHP 注入攻击:找到配置指令
933130 PHP 注入攻击:找到变量
933140 PHP 注入攻击:找到 I/O 流
933150 PHP 注入攻击:找到高风险的 PHP 函数名称
933151 PHP 注入攻击:找到中等风险的 PHP 函数名称
933160 PHP 注入攻击:找到高风险的 PHP 函数调用
933170 PHP 注入攻击:序列化对象注入
933180 PHP 注入攻击:找到可变函数调用
933200 PHP 注入攻击:检测到包装器方案
933210 PHP 注入攻击:找到可变函数调用

Node JS 攻击

RuleId 说明
934100 Node.js 注入攻击

XSS - 跨站脚本

RuleId 说明
941100 检测到通过 libinjection 展开的 XSS 攻击
941101 检测到通过 libinjection 展开的 XSS 攻击。
此规则检测带有 Referer 标头的请求。
941110 XSS 筛选器 - 类别 1:脚本标记向量
941120 XSS 筛选器 - 类别 2:事件处理程序向量
941130 XSS 筛选器 - 类别 3:属性向量
941140 XSS 筛选器 - 类别 4:Javascript URI 向量
941150 XSS 筛选器 - 类别 5:不允许的 HTML 属性
941160 NoScript XSS InjectionChecker:HTML 注入
941170 NoScript XSS InjectionChecker:属性注入
941180 节点验证器阻止列表关键字
941190 使用样式表的 XSS
941200 使用 VML 帧的 XSS
941210 使用经过模糊处理的 Javascript 的 XSS
941220 使用经过模糊处理的 VB Script 的 XSS
941230 使用“embed”标记的 XSS
941240 使用“import”或“implementation”属性的 XSS
941250 IE XSS 筛选器 - 检测到攻击。
941260 使用“meta”标记的 XSS
941270 使用“link”href 的 XSS
941280 使用“base”标记的 XSS
941290 使用“applet”标记的 XSS
941300 使用“object”标记的 XSS
941310 US-ASCII 格式错误编码 XSS 筛选器 - 检测到攻击。
941320 检测到可能的 XSS 攻击 - HTML 标记处理程序
941330 IE XSS 筛选器 - 检测到攻击。
941340 IE XSS 筛选器 - 检测到攻击。
941350 UTF-7 编码 IE XSS - 检测到攻击。
941360 检测到 JavaScript 混淆。
941370 找到 JavaScript 全局变量
941380 检测到 AngularJS 客户端模板注入

SQLI - SQL 注入

RuleId 说明
942100 检测到通过 libinjection 展开的 SQL 注入攻击
942110 SQL 注入攻击:检测到常见注入测试
942120 SQL 注入攻击:检测到 SQL 运算符
942130 SQL 注入攻击:检测到 SQL 同义反复。
942140 SQL 注入攻击:检测到常用 DB 名称
942150 SQL 注入攻击
942160 检测到使用 sleep() 或 benchmark() 的盲注 sqli 测试。
942170 检测到包含条件查询的 SQL 基准和休眠注入企图
942180 检测到基本 SQL 身份验证绕过尝试 1/3
942190 检测到 MSSQL 代码执行和信息收集尝试
942200 检测到 MySQL 注释/空间经过模糊处理的注入和反引号终止
942210 检测链式 SQL 注入尝试次数 1/2
942220 查找整数溢出攻击,这些攻击来自 skipfish,但 3.0.00738585072007e-308 是“幻数”故障
942230 检测到条件 SQL 注入企图
942240 检测 MySQL 字符集开关和 MSSQL DoS 尝试
942250 检测 MATCH AGAINST、MERGE 和 EXECUTE IMMEDIATE 注入
942260 检测到基本 SQL 身份验证绕过尝试 2/3
942270 正在查找基本 sql 注入。 针对 mysql、oracle 和其他系统的常见攻击字符串。
942280 检测 Postgres pg_sleep 注入、waitfor 延迟攻击和数据库关闭尝试
942290 查找基本 MongoDB SQL 注入企图
942300 检测到 MySQL 注释、条件和 ch(a)r 注入
942310 检测链式 SQL 注入尝试次数 2/2
942320 检测 MySQL 和 PostgreSQL 存储过程/函数注入
942330 检测到经典 SQL 注入探测 1/2
942340 检测到基本 SQL 身份验证绕过尝试 3/3
942350 检测 MySQL UDF 注入和其他数据/结构操作企图
942360 检测到连接的基本 SQL 注入和 SQLLFI 尝试
942361 检测基于关键字 alter 或 union 的基本 SQL 注入
942370 检测到经典 SQL 注入探测 2/2
942380 SQL 注入攻击
942390 SQL 注入攻击
942400 SQL 注入攻击
942410 SQL 注入攻击
942430 受限 SQL 字符异常情况检测 (args):已超出特殊字符数 (12)
942440 检测到 SQL 注释序列
942450 识别到 SQL 十六进制编码
942460 元字符异常检测警报 - 重复的非单词字符
942470 SQL 注入攻击
942480 SQL 注入攻击
942500 检测到 MySQL 内联注释。
942510 检测到引号或反引号尝试 SQLi 绕过。

SESSION-FIXATION

RuleId 说明
943100 可能的会话固定攻击:在 HTML 中设置 Cookie 值
943110 可能的会话固定攻击:包含域外引用方的 SessionID 参数名称
943120 可能的会话固定攻击:不包含引用方的 SessionID 参数名称

Java 攻击

RuleId 说明
944100 远程命令执行:Apache Struts、Oracle WebLogic
944110 检测潜在的有效负载执行
944120 可能的有效负载执行和远程命令执行
944130 可疑的 Java 类
944200 利用 Java 反序列化 Apache Commons
944210 可能使用 Java 序列化
944240 远程命令执行:Java 序列化和 Log4j 漏洞(CVE-2021-44228CVE-2021-45046
944250 远程命令执行:检测到可疑的 Java 方法

MS-ThreatIntel-WebShells

RuleId 说明
99005002 Web Shell 交互尝试 (POST)
99005003 Web Shell 上传尝试 (POST) - CHOPPER PHP
99005004 Web Shell 上传尝试 (POST) - CHOPPER ASPX
99005005 Web Shell 交互尝试
99005006 Spring4Shell 交互尝试

MS-ThreatIntel-AppSec

RuleId 说明
99030001 标头中的路径遍历规避 (/.././../)
99030002 请求正文中的路径遍历规避 (/.././../)

MS-ThreatIntel-SQLI

RuleId 说明
99031001 SQL 注入攻击:检测到常见注入测试
99031002 检测到 SQL 注释序列。
99031003 SQL 注入攻击
99031004 检测到基本 SQL 身份验证绕过尝试 2/3

MS-ThreatIntel-CVEs

RuleId 说明
99001001 使用已知凭据尝试利用 F5 tmui (CVE-2020-5902) REST API
99001002 试图遍历 Citrix NSC_USER 目录 CVE-2019-19781
99001003 试图利用 Atlassian Confluence 小组件连接器 CVE-2019-3396
99001004 试图利用 Pulse Secure 自定义模板 CVE-2020-8243
99001005 试图利用 SharePoint 类型转换器 CVE-2020-0932
99001006 试图遍历 Pulse Connect 目录 CVE-2019-11510
99001007 试图包含 Junos OS J-Web 本地文件 CVE-2020-1631
99001008 试图遍历 Fortinet 路径 CVE-2018-13379
99001009 试图进行 Apache struts ognl 注入 CVE-2017-5638
99001010 试图进行 Apache struts ognl 注入 CVE-2017-12611
99001011 试图遍历 Oracle WebLogic 路径 CVE-2020-14882
99001012 试图利用 Telerik WebUI 不安全反序列化 CVE-2019-18935
99001013 试图进行 SharePoint 不安全 XML 反序列化 CVE-2019-0604
99001014 尝试使用 Spring Cloud 路由表达式注入 CVE-2022-22963
99001015 尝试使用 Spring Framework 不安全类对象利用 CVE-2022-22965
99001016 尝试 Spring Cloud 网关执行器注入 CVE-2022-22947
99001017* 尝试使用 Apache Struts 文件上传利用 CVE-2023-50164

*默认情况下,此规则的操作设置为记录。将操作设置为“阻止”可防止 Apache Struts 漏洞。此规则不支持异常分数。

注意

查看 WAF 的日志时,可能会看到规则 ID 949110。 规则说明中可能包括“入站异常分数超出阈值”。

此规则指示请求的总异常分数超出了允许的最大分数。 有关详细信息,请参阅异常评分

后续步骤