首页 > 解决方案 > OWASP CRS MoD 安全误报 - 规则 942150 “@contains”

问题描述

有人可以帮助解决以下问题,

SecRule REQUEST_FILENAME "@streq template.html" \
    "id:9999001,\
    phase:1,\
    pass,\
    t:none,\
    nolog,\
    chain"
    SecRule REQUEST_METHOD "@streq GET" \
        "chain"
        SecRule ARGS:q "@contains cos" \
            "t:none,\
            ctl:ruleRemoveTargetById=942150;ARGS:q"

我需要将另一个字符串添加到@containts,例如“@contains cos, user, name”。请建议使用正确的语法来声明具有多个值的“包含”

标签: owaspmod-security

解决方案


@contains正如文档中所述,无法处理多个单词。

您可以@rx改用,例如:

...
        "chain"
        SecRule ARGS:q "@rx (cos|user|name)" \
            "t:none,\
            ctl:ruleRemoveTargetById=942150;ARGS:q"

或者您可以根据需要扩展此正则表达式,例如。@rx ^(cos|...).


推荐阅读