【问题标题】:Stop CRS rule from triggering for a given argument停止 CRS 规则触发给定参数
【发布时间】:2021-01-23 20:34:54
【问题描述】:

我是 OWASP ModSecurity 的绝对新手,所以如果这是一个简单的问题,请原谅!目前,对于图像上传功能,我收到一堆“警告”,如下所示:

ModSecurity:警告。匹配“运算符 Rx' with parameter (?i)\s\S\b' 与变量 ARGS:json.ImageBytes' (Value: data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4gv4SUNDX1BST0ZJTEUAAQEAAAvoAAAAAAIAAAABtbnRyUkdCI(省略 474171 个字符)')[文件“/etc/modsecurity .d/owasp-crs/rules/REQUEST-941-APPLICATION-ATTACK-XSS.conf"] [line "139"] [id "941130"] [rev "2"] [msg "XSS Filter - Category 3: 属性矢量”] [数据“匹配数据:;base64 在 ARGS:json.ImageBytes 中找到:data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4gv4SUNDX1BST0ZJTEUAAQEAAAvoAAAAAAIAAAABtbnRyUkdCIFhZWiAH2QADABsAFQAkAB9hY3NwAAA(474141 个字符省略)”] [severity /3.0.0"] [成熟度 "1"] [准确度 "8"] [标签 "application-multi"] [标签 "language-multi"] [标签 "platform-multi"] [标签 "attack-xss"] [标签“OWASP_CRS/WEB_ATTACK/XSS”] [标签“WASCTC/WASC-8”] [标签“WASCTC/WASC-22”] [标签“OWASP_TOP_10/A3”] [标签“OWASP_AppSensor/IE1”] [标签“CAPEC -242"] [主机名 "XX.XXX.X.XX"] [uri "/emps/api/emps/UpdateImage"] [unique_id "160217346360.547876"] [参考 "o15,7v29,474271t:utf8toUnicode,t:urlDecodeUni,t:htmlEntityDecode,t:jsDecode,t:cssDecode,t:removeNulls"]

如果参数 (ARGS) 为“json.ImageBytes”,我需要防止触发规则 941130。

我不想完全排除该规则,但我试图让 ModSecurity 在指定参数的情况下忽略。

也许还有 - 有没有办法通过 URI(“/emps/api/emps/UpdateImage”)来做到这一点?

到目前为止我已经尝试过:

SecRuleUpdateTargetById 941130 !ARGS:json.ImageBytes

但无济于事。

我会非常感谢任何帮助!

【问题讨论】:

    标签: mod-security


    【解决方案1】:

    根据给定的信息,您可以创建排除规则 - 只需输入REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf

    这样的规则:

    SecRule REQUEST_URI "@beginsWith /emps/api/emps/UpdateImage" \
        "id:9000901,\
        phase:1,\
        t:none,\
        nolog,\
        pass,\
        ctl:ruleRemoveTargetById=941130;ARGS:json.ImageBytes"
    

    或类似的东西。

    【讨论】:

    • 谢谢!只有一个问题 - 在这种情况下 id: 9000901 是什么?
    • 当您在 ModSecurity 的配置中使用 SecAction 或 SecRule 时,您必须为每个规则(或操作)添加唯一标识符。唯一的例外是规则是链式的:在这种情况下,整个链式规则必须具有唯一标识符。这些 id 的分配建议,请参阅此页面:github.com/SpiderLabs/ModSecurity/wiki/…。正如您所写,您使用 CRS,它可以使用 900,000–999,999,但我们使用加号表示例外情况,从 9,000,000 到最多。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-26
    • 2015-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-17
    • 1970-01-01
    相关资源
    最近更新 更多