From fd088f59599231c143b980490a9cc6ecb6e3e2d0 Mon Sep 17 00:00:00 2001 From: qing <1776177662@qq.com> Date: Tue, 4 Aug 2026 21:32:14 +0800 Subject: [PATCH] =?UTF-8?q?fix(waf):=20=E5=AF=B9=20/add=5Fnote=20=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E8=B1=81=E5=85=8D=20CRS=20=E8=AF=AF=E6=8A=A5=E8=A7=84?= =?UTF-8?q?=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 嵌入式/技术笔记含 C 代码(if()/select/sbit)被 SQLi/命令注入规则误判拦截。 仅移除误报规则(942170/942230/932xxx/934xxx),其余 CRS 规则及接口仍生效。 --- waf/rules/local/exceptions.conf | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/waf/rules/local/exceptions.conf b/waf/rules/local/exceptions.conf index 7a73587..23afaff 100644 --- a/waf/rules/local/exceptions.conf +++ b/waf/rules/local/exceptions.conf @@ -4,3 +4,16 @@ # 示例:关闭 100003 对 /login 路径的检查 # SecRule REQUEST_URI "@beginsWith /login" \ # "id:100100,phase:1,pass,nolog,ctl:ruleRemoveById=100003" + +# ============================================================ +# 100100: 对 /add_note 笔记接口豁免 CRS 误报规则 +# 背景:嵌入式/技术笔记含 C 代码(if() 条件、select、sbit 等), +# 被 CRS 的 SQLi/命令注入规则误判为攻击(942170/942230/932xxx/934xxx)。 +# 方案:仅移除误报规则本身,其余 CRS 规则仍生效,兼顾正常提交与安全检测。 +# 若后续文章仍被误拦,把日志中新增的 rule_id 追加到 ctl:ruleRemoveById 列表。 +# ============================================================ +SecRule REQUEST_URI "@beginsWith /add_note" \ + "id:100100,phase:1,pass,nolog,\ + ctl:ruleRemoveById=942170,ctl:ruleRemoveById=942230,\ + ctl:ruleRemoveById=932120,ctl:ruleRemoveById=932125,ctl:ruleRemoveById=932140,ctl:ruleRemoveById=932235,ctl:ruleRemoveById=932260,\ + ctl:ruleRemoveById=934110,ctl:ruleRemoveById=934160"