尽管规则排除,ModSecurity 仍会阻止

问题描述 投票:0回答:1

我尝试创建一个规则,允许传递任何包含 scrip%u0074 (t 的 Unicode 值)的参数值。我创建了这样一个规则:

SecRule REQUEST_URI "@contains scrip%u0074" \
    "id:1234567,phase:1,pass,t:none,t:urlDecodeUni,logdata:'Bypass script',ctl:ruleRemoveTargetByTag=attack-xss,ctl:ruleRemoveTargetById=920220"

但是其他规则仍然阻止它。当我删除带有 t:... 的部分时,它可以工作,但发送到 Web 应用程序的值不是 script(Unicode 被 utf-8 替换),但仍然是 Unicode。

我们如何改进该规则以避免被其他规则检测/阻止并将 unicode 替换为 utf-8?

rules mod-security
1个回答
0
投票

CRS 开发人员在这里值班。根据用户输入删除部分 OWASP CRS 是危险的。最好只从规则中删除特定参数。 什么论据包含这个

scrip%u0074
?你能认出他们吗?

ctl:ruleRemoveTargetByTag=attack-xss
ctl:ruleRemoveTargetById=920220
不起作用,因为您没有指定要删除的目标,您只指定了规则。所以你应该使用
ctl:ruleRemoveByTag=attack-xss
ctl:ruleRemoveById=920220
来代替。 请参阅此处:https://github.com/owasp-modsecurity/ModSecurity/wiki/Reference-Manual-(v2.x)#ctl

© www.soinside.com 2019 - 2024. All rights reserved.