提供的 Web 应用程序防火墙 CRS 规则组和规则列表

出现常见的漏洞和攻击时,应用程序网关 Web 应用程序防火墙 (WAF) 可保护 Web 应用程序。 这种保护是由根据 OWASP 核心规则集 2.2.9 或 3.0 定义的规则实现的。 可以逐个禁用这些规则。 本文包含当前提供的规则和规则集。

下列表格列出了在将应用程序网关与 Web 应用程序防火墙结合使用时可用的规则。 每个表格显示了特定 CRS 版本的规则组中的规则。

OWASP_3.0

REQUEST-911-METHOD-ENFORCEMENT

RuleId 说明
911011 规则 911011
911012 规则 911012
911100 方法不受策略允许
911013 规则 911013
911014 规则 911014
911015 规则 911015
911016 规则 911016
911017 规则 911017
911018 规则 911018

REQUEST-913-SCANNER-DETECTION

RuleId 说明
913011 规则 913011
913012 规则 913012
913100 找到了与安全扫描程序关联的用户代理
913110 找到了与安全扫描程序关联的请求标头
913120 找到了与安全扫描程序关联的请求文件名/参数
913013 规则 913013
913014 规则 913014
913101 找到了与脚本/通用 HTTP 客户端关联的用户代理
913102 找到了与 Web 爬网程序/bot 关联的用户代理
913015 规则 913015
913016 规则 913016
913017 规则 913017
913018 规则 913018

REQUEST-920-PROTOCOL-ENFORCEMENT

RuleId 说明
920011 规则 920011
920012 规则 920012
920100 无效的 HTTP 请求行
920130 未能分析请求正文。
920140 多部分请求正文未通过严格验证 = PE %@{REQBODY_PROCESSOR_ERROR} BQ %@{MULTIPART_BOUNDARY_QUOTED} BW %@{MULTIPART_BOUNDARY_WHITESPACE} DB %@{MULTIPART_DATA_BEFORE} DA %@{MULTIPART_DATA_AFTER} HF %@{MULTIPART_HEADER_FOLDING} LF %@{MULTIPART_LF_LINE} SM %@{MULTIPART_SEMICOLON_MISSING} IQ %@{MULTIPART_INVALID_QUOTING} IH %@{MULTIPART_INVALID_HEADER_FOLDING} FLE %@{MULTIPART_FILE_LIMIT_EXCEEDED}
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})
920013 规则 920013
920014 规则 920014
920200 范围 = 字段太多(6 个或以上)
920201 范围 = pdf 请求的字段在多(35 个或以上)
920230 检测到多个 URL 编码
920300 请求缺少 Accept 标头
920271 请求中的字符无效(不可列显的字符)
920320 缺少用户代理标头
920015 规则 920015
920016 规则 920016
920272 请求中的字符无效(不属于 ascii 127 下面的可列显字符)
920017 规则 920017
920018 规则 920018
920202 范围 = pdf 请求的字段在多(6 个或以上)
920273 请求中的字符无效(不属于极严格集)
920274 请求标头中的字符无效(不属于极严格集)
920460 规则 920460

REQUEST-921-PROTOCOL-ATTACK

RuleId 说明
921011 规则 921011
921012 规则 921012
921100 HTTP 请求走私攻击。
921110 HTTP 请求走私攻击
921120 HTTP 响应拆分攻击
921130 HTTP 响应拆分攻击
921140 通过标头展开的 HTTP 标头注入攻击
921150 通过有效负载展开的 HTTP 标头注入攻击(检测到 CR/LF)
921160 通过有效负载展开的 HTTP 标头注入攻击(检测到 CR/LF 和标头名称)
921013 规则 921013
921014 规则 921014
921151 通过有效负载展开的 HTTP 标头注入攻击(检测到 CR/LF)
921015 规则 921015
921016 规则 921016
921170 规则 921170
921180 HTTP 参数污染 (%@{TX.1})
921017 规则 921017
921018 规则 921018

REQUEST-930-APPLICATION-ATTACK-LFI

RuleId 说明
930011 规则 930011
930012 规则 930012
930100 路径遍历攻击 (/../)
930110 路径遍历攻击 (/../)
930120 OS 文件访问企图
930130 受限文件访问企图
930013 规则 930013
930014 规则 930014
930015 规则 930015
930016 规则 930016
930017 规则 930017
930018 规则 930018

REQUEST-931-APPLICATION-ATTACK-RFI

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

REQUEST-932-APPLICATION-ATTACK-RCE

RuleId 说明
932011 规则 932011
932012 规则 932012
932120 远程命令执行 = 找到 Windows PowerShell 命令
932130 远程命令执行 = 找到 Unix Shell 表达式
932140 远程命令执行 = 找到 Windows FOR/IF 命令
932160 远程命令执行 = 找到 Unix Shell 代码
932170 远程命令执行 = Shellshock (CVE-2014-6271)
932171 远程命令执行 = Shellshock (CVE-2014-6271)
932013 规则 932013
932014 规则 932014
932015 规则 932015
932016 规则 932016
932017 规则 932017
932018 规则 932018

REQUEST-933-APPLICATION-ATTACK-PHP

RuleId 说明
933011 规则 933011
933012 规则 933012
933100 PHP 注入攻击 = 找到开始/结束标记
933110 PHP 注入攻击 = 找到 PHP 脚本文件上传
933120 PHP 注入攻击 = 找到配置指令
933130 PHP 注入攻击 = 找到变量
933150 PHP 注入攻击 = 找到高风险的 PHP 函数名称
933160 PHP 注入攻击 = 找到高风险的 PHP 函数调用
933180 PHP 注入攻击 = 找到可变函数调用
933013 规则 933013
933014 规则 933014
933151 PHP 注入攻击 = 找到中等风险的 PHP 函数名称
933015 规则 933015
933016 规则 933016
933131 PHP 注入攻击 = 找到变量
933161 PHP 注入攻击 = 找到低值 PHP 函数调用
933111 PHP 注入攻击 = 找到 PHP 脚本文件上传
933017 规则 933017
933018 规则 933018

REQUEST-941-APPLICATION-ATTACK-XSS

RuleId 说明
941011 规则 941011
941012 规则 941012
941100 检测到通过 libinjection 展开的 XSS 攻击
941110 XSS 筛选器 - 类别 1 = 脚本标记向量
941130 XSS 筛选器 - 类别 3 = 属性向量
941140 XSS 筛选器 - 类别 4 = Javascript URI 向量
941150 XSS 筛选器 - 类别 5 = 不允许的 HTML 属性
941180 节点验证器方块列表关键字
941190 IE XSS 筛选器 - 检测到攻击。
941200 IE XSS 筛选器 - 检测到攻击。
941210 IE XSS 筛选器 - 检测到攻击。
941220 IE XSS 筛选器 - 检测到攻击。
941230 IE XSS 筛选器 - 检测到攻击。
941240 IE XSS 筛选器 - 检测到攻击。
941260 IE XSS 筛选器 - 检测到攻击。
941270 IE XSS 筛选器 - 检测到攻击。
941280 IE XSS 筛选器 - 检测到攻击。
941290 IE XSS 筛选器 - 检测到攻击。
941300 IE XSS 筛选器 - 检测到攻击。
941310 US-ASCII 格式错误编码 XSS 筛选器 - 检测到攻击。
941350 UTF-7 编码 IE XSS - 检测到攻击。
941013 规则 941013
941014 规则 941014
941320 检测到可能的 XSS 攻击 - HTML 标记处理程序
941015 规则 941015
941016 规则 941016
941017 规则 941017
941018 规则 941018

REQUEST-942-APPLICATION-ATTACK-SQLI

RuleId 说明
942011 规则 942011
942012 规则 942012
942100 检测到通过 libinjection 展开的 SQL 注入攻击
942140 SQL 注入攻击 = 检测到常用 DB 名称
942160 检测到使用 sleep() 或 benchmark() 的盲注 sqli 测试。
942170 检测到包含条件查询的 SQL 基准和休眠注入企图
942230 检测到条件 SQL 注入企图
942270 正在查找基本 sql 注入。 针对 mysql oracle 和其他系统的常见攻击字符串。
942290 查找基本 MongoDB SQL 注入企图
942320 检测 MySQL 和 PostgreSQL 存储过程/函数注入
942350 检测 MySQL UDF 注入和其他数据/结构操作企图
942013 规则 942013
942014 规则 942014
942150 SQL 注入攻击
942410 SQL 注入攻击
942440 检测到 SQL 注释序列。
942450 识别到 SQL 十六进制编码
942015 规则 942015
942016 规则 942016
942251 检测 HAVING 注入
942460 元字符异常检测警报 - 重复的非单词字符
942017 规则 942017
942018 规则 942018

REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION

RuleId 说明
943011 规则 943011
943012 规则 943012
943100 可能的会话固定攻击 = 在 HTML 中设置 Cookie 值
943110 可能的会话固定攻击 = 包含域外引用方的 SessionID 参数名称
943120 可能的会话固定攻击 = 不包含引用方的 SessionID 参数名称
943013 规则 943013
943014 规则 943014
943015 规则 943015
943016 规则 943016
943017 规则 943017
943018 规则 943018

OWASP_2.2.9

crs_20_protocol_violations

RuleId 说明
960911 无效的 HTTP 请求行
981227 Apache 错误 = 请求中的 URI 无效。
960912 未能分析请求正文。
960914 多部分请求正文未通过严格验证 = PE %@{REQBODY_PROCESSOR_ERROR} BQ %@{MULTIPART_BOUNDARY_QUOTED} BW %@{MULTIPART_BOUNDARY_WHITESPACE} DB %@{MULTIPART_DATA_BEFORE} DA %@{MULTIPART_DATA_AFTER} HF %@{MULTIPART_HEADER_FOLDING} LF %@{MULTIPART_LF_LINE} SM %@{MULTIPART_SEMICOLON_MISSING} IQ %@{MULTIPART_INVALID_QUOTING} IH %@{MULTIPART_INVALID_HEADER_FOLDING} FLE %@{MULTIPART_FILE_LIMIT_EXCEEDED}
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

RuleId 说明
950103 路径遍历攻击

crs_45_trojans

RuleId 说明
950110 后门访问
950921 后门访问
950922 后门访问

后续步骤

访问自定义 WAF 规则,了解如何禁用 WAF 规则