A continuación se presentan las dos Reglas tomadas del conjunto de reglas principales de ModSecurity CRS. Estas dos reglas son las reglas básicas para los ataques XSS. Si observamos estas dos reglas, sus variables y acciones son iguales en lo que difieren en su expresión regular, es decir, \ bgetparentfolder \ b "y \ bonmousedown \ b \ W *? \=" Y encontramos una gran cantidad de tales reglas. ¿Es esto una redundancia? ¿Puedo combinar estas reglas, es decir, una sola expresión regular?
SecRule REQUEST_COOKIES | REQUEST_COOKIES_NAMES | REQUEST_FILENAME | ARGS_NAMES | ARGS | XML: / * "\ bgetparentfolder \ b" \ "phase: 2, rev: '2.2.4', capture, t: none, t: htmlEntityDecode, t: compressWhiteSpace, t: lowercase, ctl: auditLogParts = + E, block, msg: 'Cross-site Scripting (XSS) Ataque ', id:' 958016 ', etiqueta:' WEB_ATTACK / XSS ', etiqueta:' WASCTC / WASC-8 ', etiqueta:' WASCTC / WASC-22 ', etiqueta:' OWASP_TOP_10 / A2 ', etiqueta:' OWASP_AppSensor / IE1 ', etiqueta:' PCI / 6.5.1 ', logdata:'% {TX.0} ', gravedad:' 2 ', setvar:' tx.msg =% {rule.msg} ', setvar: tx.xss_score = +% {tx.critical_anomaly_score}, setvar: tx.anomaly_score = +% {tx.critical_anomaly_score}, setvar: tx.% {rule.id} -WEB_ATTACK / XSS -% {matched_var_name} =% {tx.0} "
SecRule REQUEST_COOKIES | REQUEST_COOKIES_NAMES | REQUEST_FILENAME | ARGS_NAMES | ARGS | XML: / * "\ bonmousedown \ b \ W *? \=" \ "phase: 2, rev: '2.2.4', capture, t: none, t: htmlEntityDecode, t: compressWhiteSpace, t: lowercase, ctl: auditLogParts = + E, block, msg: 'Cross-site Scripting (XSS) Ataque ', id:' 958414 ', etiqueta:' WEB_ATTACK / XSS ', etiqueta:' WASCTC / WASC-8 ', etiqueta:' WASCTC / WASC-22 ', etiqueta:' OWASP_TOP_10 / A2 ', etiqueta:' OWASP_AppSensor / IE1 ', etiqueta:' PCI / 6.5.1 ', logdata:'% {TX.0} ', gravedad:' 2 ', setvar:' tx.msg =% {rule.msg} ', setvar: tx.xss_score = +% {tx.critical_anomaly_score}, setvar: tx.anomaly_score = +% {tx.critical_anomaly_score}, setvar: tx.% {rule.id} -WEB_ATTACK / XSS -% {matched_var_name} =% {tx.0} "