停止针对给定参数触发 CRS 规则
Stop CRS rule from triggering for a given argument
我是 OWASP ModSecurity 的绝对新手,如果这是一个简单的问题,请原谅!目前,对于图片上传功能,我收到一堆如下“警告”:
ModSecurity: Warning. Matched "Operator Rx' with parameter
(?i)\s\S\b' against variable ARGS:json.ImageBytes' (Value:
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4gv4SUNDX1BST0ZJTEUAAQEAAAvoAAAAAAIAAABtbnRyUkdCI (474171 characters omitted)' ) [file "/etc/modsecurity.d/owasp-crs/rules/REQUEST-941-APPLICATION-ATTACK-XSS.conf"] [line "139"] [id "941130"] [rev "2"] [msg "XSS Filter - Category 3: Attribute Vector"] [data "Matched Data: ;base64 found within ARGS:json.ImageBytes: data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4gv4SUNDX1BST0ZJTEUAAQEAAAvoAAAAAAIAAABtbnRyUkdCIFhZWiAH2QADABsAFQAkAB9hY3NwAAA (474141 characters omitted)"] [severity "2"] [ver "OWASP_CRS/3.0.0"] [maturity "1"] [accuracy "8"] [tag "application-multi"] [tag "language-multi"] [tag "platform-multi"] [tag "attack-xss"] [tag "OWASP_CRS/WEB_ATTACK/XSS"] [tag "WASCTC/WASC-8"] [tag "WASCTC/WASC-22"] [tag "OWASP_TOP_10/A3"] [tag "OWASP_AppSensor/IE1"] [tag "CAPEC-242"] [hostname "XX.XXX.X.XX"] [uri "/emps/api/emps/UpdateImage"] [unique_id "160217346360.547876"] [ref "o15,7v29,474271t:utf8toUnicode,t:urlDecodeUni,t:htmlEntityDecode,t:jsDecode,t:cssDecode,t:removeNulls"]
我需要防止规则 941130 在参数 (ARGS) 为“json.ImageBytes”的情况下触发。
我不想完全排除规则,但我试图让 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"
或类似的东西。
我是 OWASP ModSecurity 的绝对新手,如果这是一个简单的问题,请原谅!目前,对于图片上传功能,我收到一堆如下“警告”:
ModSecurity: Warning. Matched "Operator
Rx' with parameter
(?i)\s\S\b' against variableARGS:json.ImageBytes' (Value:
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4gv4SUNDX1BST0ZJTEUAAQEAAAvoAAAAAAIAAABtbnRyUkdCI (474171 characters omitted)' ) [file "/etc/modsecurity.d/owasp-crs/rules/REQUEST-941-APPLICATION-ATTACK-XSS.conf"] [line "139"] [id "941130"] [rev "2"] [msg "XSS Filter - Category 3: Attribute Vector"] [data "Matched Data: ;base64 found within ARGS:json.ImageBytes: data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4gv4SUNDX1BST0ZJTEUAAQEAAAvoAAAAAAIAAABtbnRyUkdCIFhZWiAH2QADABsAFQAkAB9hY3NwAAA (474141 characters omitted)"] [severity "2"] [ver "OWASP_CRS/3.0.0"] [maturity "1"] [accuracy "8"] [tag "application-multi"] [tag "language-multi"] [tag "platform-multi"] [tag "attack-xss"] [tag "OWASP_CRS/WEB_ATTACK/XSS"] [tag "WASCTC/WASC-8"] [tag "WASCTC/WASC-22"] [tag "OWASP_TOP_10/A3"] [tag "OWASP_AppSensor/IE1"] [tag "CAPEC-242"] [hostname "XX.XXX.X.XX"] [uri "/emps/api/emps/UpdateImage"] [unique_id "160217346360.547876"] [ref "o15,7v29,474271t:utf8toUnicode,t:urlDecodeUni,t:htmlEntityDecode,t:jsDecode,t:cssDecode,t:removeNulls"]
我需要防止规则 941130 在参数 (ARGS) 为“json.ImageBytes”的情况下触发。
我不想完全排除规则,但我试图让 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"
或类似的东西。