Web 应用程序防火墙 DRS 和 CRS 规则组和规则
Artículo 10/30/2024
1 colaborador
Comentarios
En este artículo
出现常见的漏洞和攻击时,应用程序网关 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 威胁情报团队开发的其他专有保护规则。
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 支持部门 。
OWASP CRS 3.1
CRS 3.1 包括下表中所示的 14 个规则组。 每个组包含多个可以禁用的规则。 规则集基于 OWASP CRS 3.1.1 版本。
注意
CRS 3.1 仅在 WAF_v2 SKU 上可用。
OWASP CRS 3.0
CRS 3.0 包含下表中所示的 13 个规则组。 每个组包含多个可以禁用的规则。 规则集基于 OWASP CRS 3.0.0 版本。
OWASP CRS 2.2.9
CRS 2.2.9 包含下表中所示的 10 个规则组。 每个组包含多个可以禁用的规则。
注意
新的 WAF 策略不再支持 CRS 2.2.9。 建议升级到最新的 CRS 3.2/DRS 2.1 及更高版本。
机器人规则
可以启用托管机器人防护规则集,以便针对来自所有机器人类别的请求执行自定义操作。
在应用程序网关上使用 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-44228 、CVE-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
*默认情况下,此规则的操作设置为记录。将操作设置为“阻止”可防止 Apache Struts 漏洞。此规则不支持异常分数。
注意
查看 WAF 的日志时,可能会看到规则 ID 949110。 规则说明中可能包括“入站异常分数超出阈值”。
此规则指示请求的总异常分数超出了允许的最大分数。 有关详细信息,请参阅异常评分 。
3.2 规则集
常规
RuleId
说明
200002
未能分析请求正文。
200003
多部分请求正文严格验证。
200004
可能的多部分不匹配边界。
KNOWN-CVES
*默认情况下,此规则的操作设置为记录。将操作设置为“阻止”可防止 Apache Struts 漏洞。此规则不支持异常分数。
REQUEST-911-METHOD-ENFORCEMENT
RuleId
说明
911100
方法不被策略允许
REQUEST-913-SCANNER-DETECTION
RuleId
说明
913100
找到了与安全扫描程序关联的用户代理
913101
找到了与脚本/通用 HTTP 客户端关联的用户代理
913102
找到了与 Web 爬网程序/bot 关联的用户代理
913110
找到了与安全扫描程序关联的请求标头
913120
找到了与安全扫描程序关联的请求文件名/参数
REQUEST-920-PROTOCOL-ENFORCEMENT
RuleId
说明
920100
无效的 HTTP 请求行
920120
尝试了多部分/表单数据绕过
920121
尝试了多部分/表单数据绕过
920160
Content-Length HTTP 标头不是数字。
920170
包含正文内容的 GET 或 HEAD 请求。
920171
包含 Transfer-Encoding 的 GET 或 HEAD 请求。
920180
POST 请求缺少 Content-Length 标头。
920190
范围:最后一个字节值无效。
920200
范围:字段太多(6 个或以上)
920201
范围:pdf 请求的字段太多(35 个或以上)
920202
范围:pdf 请求的字段太多(6 个或以上)
920210
找到了多个/有冲突的连接标头数据。
920220
URL 编码滥用攻击尝试
920230
检测到多个 URL 编码
920240
URL 编码滥用攻击尝试
920250
UTF8 编码滥用攻击企图
920260
Unicode 全角/半角滥用攻击企图
920270
请求中的字符无效(null 字符)
920271
请求中的字符无效(不可列显的字符)
920272
请求中的字符无效(不属于 ascii 127 下面的可列显字符)
920273
请求中的字符无效(不属于极严格集)
920274
请求标头中的字符无效(不属于极严格集)
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 标头 (%{MATCHED_VAR})
920460
转义字符异常
920470
Content-Type 标头非法
920480
在 content-type 标头中限制字符集参数
REQUEST-921-PROTOCOL-ATTACK
RuleId
说明
921110
HTTP 请求走私攻击
921120
HTTP 响应拆分攻击
921130
HTTP 响应拆分攻击
921140
通过标头展开的 HTTP 标头注入攻击
921150
通过有效负载展开的 HTTP 标头注入攻击(检测到 CR/LF)
921151
通过有效负载展开的 HTTP 标头注入攻击(检测到 CR/LF)
921160
通过有效负载展开的 HTTP 标头注入攻击(检测到 CR/LF 和标头名称)
921170
HTTP 参数污染
921180
HTTP 参数污染 (%{TX.1})
REQUEST-930-APPLICATION-ATTACK-LFI
RuleId
说明
930100
路径遍历攻击 (/../)
930110
路径遍历攻击 (/../)
930120
OS 文件访问企图
930130
受限文件访问企图
REQUEST-931-APPLICATION-ATTACK-RFI
RuleId
说明
931100
可能的远程文件包含 (RFI) 攻击:使用 IP 地址的 URL 参数
931110
可能的远程文件包含 (RFI) 攻击:对 URL 有效负载使用常见 RFI 漏洞参数名
931120
可能的远程文件包含 (RFI) 攻击:在 URL 有效负载中使用尾随问号 (?)
931130
可能的远程文件包含 (RFI) 攻击:域外引用/链接
REQUEST-932-APPLICATION-ATTACK-RCE
RuleId
说明
932100
远程命令执行:Unix 命令注入
932105
远程命令执行:Unix 命令注入
932106
远程命令执行:Unix 命令注入
932110
远程命令执行:Windows 命令注入
932115
远程命令执行:Windows 命令注入
932120
远程命令执行:找到 Windows PowerShell 命令
932130
远程命令执行:找到了 Unix Shell 表达式或 Confluence 漏洞 (CVE-2022-26134) 或 Text4Shell (CVE-2022-42889 )
932140
远程命令执行:找到 Windows FOR/IF 命令
932150
远程命令执行:直接 Unix 命令执行
932160
远程命令执行:找到 Unix Shell 代码
932170
远程命令执行:Shellshock (CVE-2014-6271)
932171
远程命令执行:Shellshock (CVE-2014-6271)
932180
受限文件上传企图
932190
远程命令执行:通配符绕过方法尝试
REQUEST-933-APPLICATION-ATTACK-PHP
RuleId
说明
933100
PHP 注入攻击:找到开始/结束标记
933110
PHP 注入攻击:找到 PHP 脚本文件上传
933111
PHP 注入攻击:找到 PHP 脚本文件上传
933120
PHP 注入攻击:找到配置指令
933130
PHP 注入攻击:找到变量
933131
PHP 注入攻击:找到变量
933140
PHP 注入攻击:找到 I/O 流
933150
PHP 注入攻击:找到高风险的 PHP 函数名称
933151
PHP 注入攻击:找到中等风险的 PHP 函数名称
933160
PHP 注入攻击:找到高风险的 PHP 函数调用
933161
PHP 注入攻击:找到低值 PHP 函数调用
933170
PHP 注入攻击:序列化对象注入
933180
PHP 注入攻击:找到可变函数调用
933190
PHP 注入攻击:找到 PHP 结束标记
933200
PHP 注入攻击:检测到包装器方案
933210
PHP 注入攻击:找到可变函数调用
REQUEST-941-APPLICATION-ATTACK-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 或 Text4Shell (CVE-2022-42889 ) 的 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 混淆。
REQUEST-942-APPLICATION-ATTACK-SQLI
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 注入
942251
检测 HAVING 注入
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 注入攻击
942420
受限 SQL 字符异常情况检测 (cookie):已超出特殊字符数 (8)
942421
受限 SQL 字符异常情况检测 (cookie):已超出特殊字符数 (3)
942430
受限 SQL 字符异常情况检测 (args):已超出特殊字符数 (12)
942431
受限 SQL 字符异常情况检测 (args):已超出特殊字符数 (6)
942432
受限 SQL 字符异常情况检测 (args):已超出特殊字符数 (2)
942440
检测到 SQL 注释序列。
942450
识别到 SQL 十六进制编码
942460
元字符异常检测警报 - 重复的非单词字符
942470
SQL 注入攻击
942480
SQL 注入攻击
942490
检测经典 SQL 注入探测 3/3
942500
检测到 MySQL 内联注释。
REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION
RuleId
说明
943100
可能的会话固定攻击:在 HTML 中设置 Cookie 值
943110
可能的会话固定攻击:包含域外引用方的 SessionID 参数名称
943120
可能的会话固定攻击:不包含引用方的 SessionID 参数名称
REQUEST-944-APPLICATION-ATTACK-JAVA
RuleId
说明
944100
远程命令执行:Apache Struts、Oracle WebLogic
944110
检测潜在的有效负载执行
944120
可能的有效负载执行和远程命令执行
944130
可疑的 Java 类
944200
利用 Java 反序列化 Apache Commons
944210
可能使用 Java 序列化
944240
远程命令执行:Java 序列化
944250
远程命令执行:检测到可疑的 Java 方法
944300
Base64 编码的字符串匹配可疑关键字
3.1 规则集
常规
RuleId
说明
200004
可能的多部分不匹配边界。
KNOWN-CVES
*运行 CRS 3.1 的旧版 WAF 仅支持此规则的日志记录模式。若要启用阻止模式,需要升级到更高的规则集版本。
REQUEST-911-METHOD-ENFORCEMENT
RuleId
说明
911100
方法不被策略允许
REQUEST-913-SCANNER-DETECTION
RuleId
说明
913100
找到了与安全扫描程序关联的用户代理
913101
找到了与脚本/通用 HTTP 客户端关联的用户代理
913102
找到了与 Web 爬网程序/bot 关联的用户代理
913110
找到了与安全扫描程序关联的请求标头
913120
找到了与安全扫描程序关联的请求文件名/参数
REQUEST-920-PROTOCOL-ENFORCEMENT
RuleId
说明
920100
无效的 HTTP 请求行
920120
尝试了多部分/表单数据绕过
920121
尝试了多部分/表单数据绕过
920130
未能分析请求正文。
920140
多部分请求正文无法通过严格的验证
920160
Content-Length HTTP 标头不是数字。
920170
包含正文内容的 GET 或 HEAD 请求。
920171
包含 Transfer-Encoding 的 GET 或 HEAD 请求。
920180
POST 请求缺少 Content-Length 标头。
920190
范围 = 最后一个字节值无效。
920200
范围 = 字段太多(6 个或以上)
920201
范围 = pdf 请求的字段在多(35 个或以上)
920202
范围 = pdf 请求的字段在多(6 个或以上)
920210
找到了多个/有冲突的连接标头数据。
920220
URL 编码滥用攻击尝试
920230
检测到多个 URL 编码
920240
URL 编码滥用攻击尝试
920250
UTF8 编码滥用攻击企图
920260
Unicode 全角/半角滥用攻击企图
920270
请求中的字符无效(null 字符)
920271
请求中的字符无效(不可列显的字符)
920272
请求中的字符无效(不属于 ascii 127 下面的可列显字符)
920273
请求中的字符无效(不属于极严格集)
920274
请求标头中的字符无效(不属于极严格集)
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 标头 (%@{MATCHED_VAR})
920460
转义字符异常
920470
Content-Type 标头非法
920480
在 content-type 标头中限制字符集参数
REQUEST-921-PROTOCOL-ATTACK
RuleId
说明
921110
HTTP 请求走私攻击
921120
HTTP 响应拆分攻击
921130
HTTP 响应拆分攻击
921140
通过标头展开的 HTTP 标头注入攻击
921150
通过有效负载展开的 HTTP 标头注入攻击(检测到 CR/LF)
921151
通过有效负载展开的 HTTP 标头注入攻击(检测到 CR/LF)
921160
通过有效负载展开的 HTTP 标头注入攻击(检测到 CR/LF 和标头名称)
921170
HTTP 参数污染
921180
HTTP 参数污染 (%{TX.1})
REQUEST-930-APPLICATION-ATTACK-LFI
RuleId
说明
930100
路径遍历攻击 (/../)
930110
路径遍历攻击 (/../)
930120
OS 文件访问企图
930130
受限文件访问企图
REQUEST-931-APPLICATION-ATTACK-RFI
RuleId
说明
931100
可能的远程文件包含 (RFI) 攻击 = 使用 IP 地址的 URL 参数
931110
可能的远程文件包含 (RFI) 攻击 = 对 URL 有效负载使用常见 RFI 漏洞参数名使用
931120
可能的远程文件包含 (RFI) 攻击 = 在 URL 有效负载中使用尾随问号 (?)
931130
可能的远程文件包含 (RFI) 攻击 = 域外引用/链接
REQUEST-932-APPLICATION-ATTACK-RCE
RuleId
说明
932100
远程命令执行:Unix 命令注入
932105
远程命令执行:Unix 命令注入
932106
远程命令执行:Unix 命令注入
932110
远程命令执行:Windows 命令注入
932115
远程命令执行:Windows 命令注入
932120
远程命令执行 = 找到 Windows PowerShell 命令
932130
远程命令执行:找到了 Unix Shell 表达式或 Confluence 漏洞 (CVE-2022-26134) 或 Text4Shell (CVE-2022-42889 )
932140
远程命令执行 = 找到 Windows FOR/IF 命令
932150
远程命令执行:直接 Unix 命令执行
932160
远程命令执行 = 找到 Unix Shell 代码
932170
远程命令执行 = Shellshock (CVE-2014-6271)
932171
远程命令执行 = Shellshock (CVE-2014-6271)
932180
受限文件上传企图
932190
远程命令执行:通配符绕过方法尝试
REQUEST-933-APPLICATION-ATTACK-PHP
RuleId
说明
933100
PHP 注入攻击 = 找到开始/结束标记
933110
PHP 注入攻击 = 找到 PHP 脚本文件上传
933111
PHP 注入攻击:找到 PHP 脚本文件上传
933120
PHP 注入攻击 = 找到配置指令
933130
PHP 注入攻击 = 找到变量
933131
PHP 注入攻击:找到变量
933140
PHP 注入攻击:找到 I/O 流
933150
PHP 注入攻击 = 找到高风险的 PHP 函数名称
933151
PHP 注入攻击:找到中等风险的 PHP 函数名称
933160
PHP 注入攻击 = 找到高风险的 PHP 函数调用
933161
PHP 注入攻击:找到低值 PHP 函数调用
933170
PHP 注入攻击:序列化对象注入
933180
PHP 注入攻击 = 找到可变函数调用
933190
PHP 注入攻击:找到 PHP 结束标记
REQUEST-941-APPLICATION-ATTACK-XSS
RuleId
说明
941100
检测到通过 libinjection 展开的 XSS 攻击
941101
检测到通过 libinjection 展开的 XSS 攻击。 此规则检测带有 Referer 标头的请求。
941110
XSS 筛选器 - 类别 1 = 脚本标记向量
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 或 Text4Shell (CVE-2022-42889 ) 的 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 - 检测到攻击。
REQUEST-942-APPLICATION-ATTACK-SQLI
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.00738585072 除外
942230
检测到条件 SQL 注入企图
942240
检测 MySQL 字符集开关和 MSSQL DoS 尝试
942250
检测 MATCH AGAINST、MERGE 和 EXECUTE IMMEDIATE 注入
942251
检测 HAVING 注入
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 注入攻击
942420
受限 SQL 字符异常情况检测 (cookie):已超出特殊字符数 (8)
942421
受限 SQL 字符异常情况检测 (cookie):已超出特殊字符数 (3)
942430
受限 SQL 字符异常情况检测 (args):已超出特殊字符数 (12)
942431
受限 SQL 字符异常情况检测 (args):已超出特殊字符数 (6)
942432
受限 SQL 字符异常情况检测 (args):已超出特殊字符数 (2)
942440
检测到 SQL 注释序列。
942450
识别到 SQL 十六进制编码
942460
元字符异常检测警报 - 重复的非单词字符
942470
SQL 注入攻击
942480
SQL 注入攻击
942490
检测经典 SQL 注入探测 3/3
REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION
RuleId
说明
943100
可能的会话固定攻击 = 在 HTML 中设置 Cookie 值
943110
可能的会话固定攻击 = 包含域外引用方的 SessionID 参数名称
943120
可能的会话固定攻击 = 不包含引用方的 SessionID 参数名称
REQUEST-944-APPLICATION-ATTACK-SESSION-JAVA
RuleId
说明
944120
可能的有效负载执行和远程命令执行
944130
可疑的 Java 类
944200
利用 Java 反序列化 Apache Commons
3.0 规则集
常规
RuleId
说明
200004
可能的多部分不匹配边界。
KNOWN-CVES
REQUEST-911-METHOD-ENFORCEMENT
RuleId
说明
911100
方法不被策略允许
REQUEST-913-SCANNER-DETECTION
RuleId
说明
913100
找到了与安全扫描程序关联的用户代理
913110
找到了与安全扫描程序关联的请求标头
913120
找到了与安全扫描程序关联的请求文件名/参数
913101
找到了与脚本/通用 HTTP 客户端关联的用户代理
913102
找到了与 Web 爬网程序/bot 关联的用户代理
REQUEST-920-PROTOCOL-ENFORCEMENT
RuleId
说明
920100
无效的 HTTP 请求行
920130
未能分析请求正文。
920140
多部分请求正文无法通过严格的验证
920160
Content-Length HTTP 标头不是数字。
920170
包含正文内容的 GET 或 HEAD 请求。
920180
POST 请求缺少 Content-Length 标头。
920190
范围 = 最后一个字节值无效。
920210
找到了多个/有冲突的连接标头数据。
920220
URL 编码滥用攻击尝试
920240
URL 编码滥用攻击尝试
920250
UTF8 编码滥用攻击企图
920260
Unicode 全角/半角滥用攻击企图
920270
请求中的字符无效(null 字符)
920280
请求缺少 Host 标头
920290
Host 标头为空
920310
请求包含空的 Accept 标头
920311
请求包含空的 Accept 标头
920330
用户代理标头为空
920340
请求包含内容但缺少 Content-Type 标头
920350
Host 标头是数字 IP 地址
920380
请求中的参数太多
920360
参数名称太长
920370
参数值太长
920390
超出了总参数大小
920400
上传的文件太大
920410
上传的文件总大小太大
920420
策略不允许请求内容类型
920430
策略不允许 HTTP 协议版本
920440
策略限制了 URL 文件扩展名
920450
策略限制了 HTTP 标头 (%@{MATCHED_VAR})
920200
范围 = 字段太多(6 个或以上)
920201
范围 = pdf 请求的字段在多(35 个或以上)
920230
检测到多个 URL 编码
920300
请求缺少 Accept 标头
920271
请求中的字符无效(不可列显的字符)
920320
缺少用户代理标头
920272
请求中的字符无效(不属于 ascii 127 下面的可列显字符)
920202
范围 = pdf 请求的字段在多(6 个或以上)
920273
请求中的字符无效(不属于极严格集)
920274
请求标头中的字符无效(不属于极严格集)
920460
转义字符异常
REQUEST-921-PROTOCOL-ATTACK
RuleId
说明
921100
HTTP 请求走私攻击。
921110
HTTP 请求走私攻击
921120
HTTP 响应拆分攻击
921130
HTTP 响应拆分攻击
921140
通过标头展开的 HTTP 标头注入攻击
921150
通过有效负载展开的 HTTP 标头注入攻击(检测到 CR/LF)
921160
通过有效负载展开的 HTTP 标头注入攻击(检测到 CR/LF 和标头名称)
921151
通过有效负载展开的 HTTP 标头注入攻击(检测到 CR/LF)
921170
HTTP 参数污染
921180
HTTP 参数污染 (%@{TX.1})
REQUEST-930-APPLICATION-ATTACK-LFI
RuleId
说明
930100
路径遍历攻击 (/../)
930110
路径遍历攻击 (/../)
930120
OS 文件访问企图
930130
受限文件访问企图
REQUEST-931-APPLICATION-ATTACK-RFI
RuleId
说明
931100
可能的远程文件包含 (RFI) 攻击 = 使用 IP 地址的 URL 参数
931110
可能的远程文件包含 (RFI) 攻击 = 对 URL 有效负载使用常见 RFI 漏洞参数名使用
931120
可能的远程文件包含 (RFI) 攻击 = 在 URL 有效负载中使用尾随问号 (?)
931130
可能的远程文件包含 (RFI) 攻击 = 域外引用/链接
REQUEST-932-APPLICATION-ATTACK-RCE
RuleId
说明
932120
远程命令执行 = 找到 Windows PowerShell 命令
932130
应用程序网关 WAF v2 :远程命令执行:找到了 Unix Shell 表达式或 Confluence 漏洞 (CVE-2022-26134) 或 Text4Shell (CVE-2022-42889 ) 应用程序网关 WAF v1:远程命令执行:Unix Shell 表达式
932140
远程命令执行 = 找到 Windows FOR/IF 命令
932160
远程命令执行 = 找到 Unix Shell 代码
932170
远程命令执行 = Shellshock (CVE-2014-6271)
932171
远程命令执行 = Shellshock (CVE-2014-6271)
REQUEST-933-APPLICATION-ATTACK-PHP
RuleId
说明
933100
PHP 注入攻击 = 找到开始/结束标记
933110
PHP 注入攻击 = 找到 PHP 脚本文件上传
933120
PHP 注入攻击 = 找到配置指令
933130
PHP 注入攻击 = 找到变量
933150
PHP 注入攻击 = 找到高风险的 PHP 函数名称
933160
PHP 注入攻击 = 找到高风险的 PHP 函数调用
933180
PHP 注入攻击 = 找到可变函数调用
933151
PHP 注入攻击 = 找到中等风险的 PHP 函数名称
933131
PHP 注入攻击 = 找到变量
933161
PHP 注入攻击 = 找到低值 PHP 函数调用
933111
PHP 注入攻击 = 找到 PHP 脚本文件上传
REQUEST-941-APPLICATION-ATTACK-XSS
RuleId
说明
941100
检测到通过 libinjection 展开的 XSS 攻击
941110
XSS 筛选器 - 类别 1 = 脚本标记向量
941130
XSS 筛选器 - 类别 3 = 属性向量
941140
XSS 筛选器 - 类别 4 = JavaScript URI 向量
941150
XSS 筛选器 - 类别 5 = 不允许的 HTML 属性
941180
节点验证器阻止列表关键字
941190
使用样式表的 XSS
941200
使用 VML 帧的 XSS
941210
使用经过模糊处理的 JavaScript 或 Text4Shell (CVE-2022-42889 ) 的 XSS
941220
使用经过模糊处理的 VB Script 的 XSS
941230
使用“embed”标记的 XSS
941240
使用“import”或“implementation”属性的 XSS
941260
使用“meta”标记的 XSS
941270
使用“link”href 的 XSS
941280
使用“base”标记的 XSS
941290
使用“applet”标记的 XSS
941300
使用“object”标记的 XSS
941310
US-ASCII 格式错误编码 XSS 筛选器 - 检测到攻击。
941330
IE XSS 筛选器 - 检测到攻击。
941340
IE XSS 筛选器 - 检测到攻击。
941350
UTF-7 编码 IE XSS - 检测到攻击。
941320
检测到可能的 XSS 攻击 - HTML 标记处理程序
REQUEST-942-APPLICATION-ATTACK-SQLI
RuleId
说明
942100
检测到通过 libinjection 展开的 SQL 注入攻击
942110
SQL 注入攻击:检测到常见注入测试
942130
SQL 注入攻击:检测到 SQL 同义反复。
942140
SQL 注入攻击 = 检测到常用 DB 名称
942160
检测到使用 sleep() 或 benchmark() 的盲注 sqli 测试。
942170
检测到包含条件查询的 SQL 基准和休眠注入企图
942190
检测到 MSSQL 代码执行和信息收集尝试
942200
检测到 MySQL 注释/空间经过模糊处理的注入和反引号终止
942230
检测到条件 SQL 注入企图
942260
检测到基本 SQL 身份验证绕过尝试 2/3
942270
正在查找基本 sql 注入。 针对 mysql oracle 和其他系统的常见攻击字符串。
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 尝试
942370
检测到经典 SQL 注入探测 2/2
942150
SQL 注入攻击
942410
SQL 注入攻击
942430
受限 SQL 字符异常情况检测 (args):已超出特殊字符数 (12)
942440
检测到 SQL 注释序列。
942450
识别到 SQL 十六进制编码
942251
检测 HAVING 注入
942460
元字符异常检测警报 - 重复的非单词字符
REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION
RuleId
说明
943100
可能的会话固定攻击 = 在 HTML 中设置 Cookie 值
943110
可能的会话固定攻击 = 包含域外引用方的 SessionID 参数名称
943120
可能的会话固定攻击 = 不包含引用方的 SessionID 参数名称
2.2.9 规则集
crs_20_protocol_violations
RuleId
说明
960911
无效的 HTTP 请求行
981227
Apache 错误 = 请求中的 URI 无效。
960912
未能分析请求正文。
960914
多部分请求正文无法通过严格的验证
960915
多部分分析器检测到可能的不匹配边界。
960016
Content-Length HTTP 标头不是数字。
960011
包含正文内容的 GET 或 HEAD 请求。
960012
POST 请求缺少 Content-Length 标头。
960902
标识编码用法无效。
960022
HTTP 1.0 不允许 Expect 标头。
960020
Pragma 标头需要 HTTP/1.1 请求的 Cache-Control 标头。
958291
范围 = 字段存在并以 0 开始。
958230
范围 = 最后一个字节值无效。
958295
找到了多个/有冲突的连接标头数据。
950107
URL 编码滥用攻击尝试
950109
检测到多个 URL 编码
950108
URL 编码滥用攻击尝试
950801
UTF8 编码滥用攻击企图
950116
Unicode 全角/半角滥用攻击企图
960901
请求中的字符无效
960018
请求中的字符无效
crs_21_protocol_anomalies
RuleId
说明
960008
请求缺少 Host 标头
960007
Host 标头为空
960015
请求缺少 Accept 标头
960021
请求包含空的 Accept 标头
960009
请求缺少用户代理标头
960006
用户代理标头为空
960904
请求包含内容但缺少 Content-Type 标头
960017
Host 标头是数字 IP 地址
crs_23_request_limits
RuleId
说明
960209
参数名称太长
960208
参数值太长
960335
请求中的参数太多
960341
超出了总参数大小
960342
上传的文件太大
960343
上传的文件总大小太大
crs_30_http_policy
RuleId
说明
960032
方法不被策略允许
960010
策略不允许请求内容类型
960034
策略不允许 HTTP 协议版本
960035
策略限制了 URL 文件扩展名
960038
策略限制了 HTTP 标头
crs_35_bad_robots
RuleId
说明
990002
请求指示安全扫描程序已扫描站点
990901
请求指示安全扫描程序已扫描站点
990902
请求指示安全扫描程序已扫描站点
990012
恶意网站爬网程序
crs_40_generic_attacks
RuleId
说明
960024
元字符异常检测警报 - 重复的非单词字符
950008
注入未记录的 ColdFusion 标记
950010
LDAP 注入攻击
950011
SSI 注入攻击
950018
检测到通用 PDF XSS URL。
950019
电子邮件注入攻击
950012
HTTP 请求走私攻击。
950910
HTTP 响应拆分攻击
950911
HTTP 响应拆分攻击
950117
远程文件包含攻击
950118
远程文件包含攻击
950119
远程文件包含攻击
950120
可能的远程文件包含 (RFI) 攻击 = 域外引用/链接
981133
规则 981133
981134
规则 981134
950009
会话固定攻击
950003
会话固定
950000
会话固定
950005
远程文件访问企图
950002
系统命令访问
950006
系统命令注入
959151
PHP 注入攻击
958976
PHP 注入攻击
958977
PHP 注入攻击
crs_41_sql_injection_attacks
RuleId
说明
981231
检测到 SQL 注释序列。
981260
识别到 SQL 十六进制编码
981320
SQL 注入攻击 = 检测到常用 DB 名称
981300
规则 981300
981301
规则 981301
981302
规则 981302
981303
规则 981303
981304
规则 981304
981305
规则 981305
981306
规则 981306
981307
规则 981307
981308
规则 981308
981309
规则 981309
981310
规则 981310
981311
规则 981311
981312
规则 981312
981313
规则 981313
981314
规则 981314
981315
规则 981315
981316
规则 981316
981317
SQL SELECT 语句异常检测警报
950007
SQL 盲注攻击
950001
SQL 注入攻击
950908
SQL 注入攻击。
959073
SQL 注入攻击
981272
检测到使用 sleep() 或 benchmark() 的盲注 sqli 测试。
981250
检测到包含条件查询的 SQL 基准和休眠注入企图
981241
检测到条件 SQL 注入企图
981276
正在查找基本 sql 注入。 针对 mysql oracle 和其他系统的常见攻击字符串。
981270
查找基本 MongoDB SQL 注入企图
981253
检测 MySQL 和 PostgreSQL 存储过程/函数注入
981251
检测 MySQL UDF 注入和其他数据/结构操作企图
crs_41_xss_attacks
RuleId
说明
973336
XSS 筛选器 - 类别 1 = 脚本标记向量
973338
XSS 筛选器 - 类别 3 = JavaScript URI 向量
981136
规则 981136
981018
规则 981018
958016
跨站点脚本 (XSS) 攻击
958414
跨站点脚本 (XSS) 攻击
958032
跨站点脚本 (XSS) 攻击
958026
跨站点脚本 (XSS) 攻击
958027
跨站点脚本 (XSS) 攻击
958054
跨站点脚本 (XSS) 攻击
958418
跨站点脚本 (XSS) 攻击
958034
跨站点脚本 (XSS) 攻击
958019
跨站点脚本 (XSS) 攻击
958013
跨站点脚本 (XSS) 攻击
958408
跨站点脚本 (XSS) 攻击
958012
跨站点脚本 (XSS) 攻击
958423
跨站点脚本 (XSS) 攻击
958002
跨站点脚本 (XSS) 攻击
958017
跨站点脚本 (XSS) 攻击
958007
跨站点脚本 (XSS) 攻击
958047
跨站点脚本 (XSS) 攻击
958410
跨站点脚本 (XSS) 攻击
958415
跨站点脚本 (XSS) 攻击
958022
跨站点脚本 (XSS) 攻击
958405
跨站点脚本 (XSS) 攻击
958419
跨站点脚本 (XSS) 攻击
958028
跨站点脚本 (XSS) 攻击
958057
跨站点脚本 (XSS) 攻击
958031
跨站点脚本 (XSS) 攻击
958006
跨站点脚本 (XSS) 攻击
958033
跨站点脚本 (XSS) 攻击
958038
跨站点脚本 (XSS) 攻击
958409
跨站点脚本 (XSS) 攻击
958001
跨站点脚本 (XSS) 攻击
958005
跨站点脚本 (XSS) 攻击
958404
跨站点脚本 (XSS) 攻击
958023
跨站点脚本 (XSS) 攻击
958010
跨站点脚本 (XSS) 攻击
958411
跨站点脚本 (XSS) 攻击
958422
跨站点脚本 (XSS) 攻击
958036
跨站点脚本 (XSS) 攻击
958000
跨站点脚本 (XSS) 攻击
958018
跨站点脚本 (XSS) 攻击
958406
跨站点脚本 (XSS) 攻击
958040
跨站点脚本 (XSS) 攻击
958052
跨站点脚本 (XSS) 攻击
958037
跨站点脚本 (XSS) 攻击
958049
跨站点脚本 (XSS) 攻击
958030
跨站点脚本 (XSS) 攻击
958041
跨站点脚本 (XSS) 攻击
958416
跨站点脚本 (XSS) 攻击
958024
跨站点脚本 (XSS) 攻击
958059
跨站点脚本 (XSS) 攻击
958417
跨站点脚本 (XSS) 攻击
958020
跨站点脚本 (XSS) 攻击
958045
跨站点脚本 (XSS) 攻击
958004
跨站点脚本 (XSS) 攻击
958421
跨站点脚本 (XSS) 攻击
958009
跨站点脚本 (XSS) 攻击
958025
跨站点脚本 (XSS) 攻击
958413
跨站点脚本 (XSS) 攻击
958051
跨站点脚本 (XSS) 攻击
958420
跨站点脚本 (XSS) 攻击
958407
跨站点脚本 (XSS) 攻击
958056
跨站点脚本 (XSS) 攻击
958011
跨站点脚本 (XSS) 攻击
958412
跨站点脚本 (XSS) 攻击
958008
跨站点脚本 (XSS) 攻击
958046
跨站点脚本 (XSS) 攻击
958039
跨站点脚本 (XSS) 攻击
958003
跨站点脚本 (XSS) 攻击
973300
检测到可能的 XSS 攻击 - HTML 标记处理程序
973301
检测到 XSS 攻击
973302
检测到 XSS 攻击
973303
检测到 XSS 攻击
973304
检测到 XSS 攻击
973305
检测到 XSS 攻击
973306
检测到 XSS 攻击
973307
检测到 XSS 攻击
973308
检测到 XSS 攻击
973309
检测到 XSS 攻击
973311
检测到 XSS 攻击
973313
检测到 XSS 攻击
973314
检测到 XSS 攻击
973331
IE XSS 筛选器 - 检测到攻击。
973315
IE XSS 筛选器 - 检测到攻击。
973330
IE XSS 筛选器 - 检测到攻击。
973327
IE XSS 筛选器 - 检测到攻击。
973326
IE XSS 筛选器 - 检测到攻击。
973346
IE XSS 筛选器 - 检测到攻击。
973345
IE XSS 筛选器 - 检测到攻击。
973324
IE XSS 筛选器 - 检测到攻击。
973323
IE XSS 筛选器 - 检测到攻击。
973348
IE XSS 筛选器 - 检测到攻击。
973321
IE XSS 筛选器 - 检测到攻击。
973320
IE XSS 筛选器 - 检测到攻击。
973318
IE XSS 筛选器 - 检测到攻击。
973317
IE XSS 筛选器 - 检测到攻击。
973329
IE XSS 筛选器 - 检测到攻击。
973328
IE XSS 筛选器 - 检测到攻击。
crs_42_tight_security
crs_45_trojans
RuleId
说明
950110
后门访问
950921
后门访问
950922
后门访问
机器人管理器规则集
恶意机器人
RuleId
说明
Bot100100
威胁情报检测到的恶意机器人
Bot100200
已伪造其标识的恶意机器人
Bot100100 扫描 X-Forwarded-For 标头中的客户端 IP 地址和 IP。
善意机器人
RuleId
说明
Bot200100
搜索引擎爬网程序
Bot200200
未经验证的搜索引擎爬网程序
未知机器人
RuleId
说明
Bot300100
未指定的标识
Bot300200
用于 Web 爬网和攻击的工具和框架
Bot300300
常规用途 HTTP 客户端和 SDK
Bot300400
服务代理
Bot300500
站点运行状况监视服务
Bot300600
威胁情报检测到的未知机器人
Bot300700
其他机器人
Bot300600 扫描 X-Forwarded-For 标头中的客户端 IP 地址和 IP。
后续步骤