阻止CRS规则触发给定参数

问题描述

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

ModSecurity:警告。将“运算符Rx' with parameter (?i)\ s \ S \ b'与变量ARGS:json.ImageBytes' (Value: 匹配:data / image / jpeg; base64,/ 9j / 4AAQSkZJRgABAQEASABIAAD / 4gv4SUNDX1BST0ZJTEUAAQEAAAvoAAAAAAIAAABtbnRyUkdCI(省略了474171个字符) /etc/modsecurity.d/owasp-crs/rules/REQUEST-941-APPLICATION-ATTACK-XSS.conf“] [行” 139“] [id” 941130“] [版本” 2“] [msg” XSS过滤器-类别3:属性向量“] [数据”匹配的数据:;在ARGS:json.ImageBytes中找到的base64:data:image / jpeg; base64,/ 9j / 4AAQSkZJJggABAQEASABIAAD / 4gv4SUNDX1BST0ZJTEUAAQEAAAvoAAAAAAIAAABtbnRyUkdCIFhZWiAH2141“ [ver“ OWASP_CRS / 3.0.0”] [成熟度“ 1”] [准确性“ 8”] [标签“ application-multi”] [标签“ language-multi”] [标签“ platform-multi”] [标签“攻击-xss“] [标签” OWASP_CRS / WEB_ATTACK / XSS“] [标签” WASCTC / WASC-8“] [标签” WASCTC / WASC-22“] [标签” OWASP_TOP_10 / A3“] [标签” OWASP_AppSensor / IE1“] [tag“ CAPEC-242”] [主机名“ XX.XXX.X.XX”] [uri“ / emps / api / emps / UpdateImage”] [unique_id“ 160217346360.547876”] [ref“ o15,7v2 9,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

但无济于事。

非常感谢您的帮助!

解决方法

根据给定的信息,您可以创建排除规则-只需将其放入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"

或类似的东西。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...