Modsecurity检查不带查询参数的REQUEST_URI
目前,我正在使用Modsecurity XSS预防,但是我很难理解我可以如何限制在REQUEST_URIvariables中检查的内容。 我的例子: # # -=[ XSS Filters – Category 3 ]=- # XSS vectors making use of Javascripts URIs, eg, <p style="background:url(javascript:alert(1))"> # SecRule REQUEST_URI|ARGS "(?i)((?:=|U\s*R\s*L\s*\()\s*[^>]*\s*S\s*C\s*R\s*I\s*P\s*T\s*:|:|[\s\S]allowscriptaccess[\s\S]|[\s\S]src[\s\S]|[\s\S]data:text\/html[\s\S]|[\s\S]xlink:href[\s\S]|[\s\S]base64[\s\S]|[\s\S]xmlns[\s\S]|[\s\S]xhtml[\s\S]|[\s\S]style[\s\S]|<style[^>]*>[\s\S]*?|[\s\S]@import[\s\S]|<applet[^>]*>[\s\S]*?|<meta[^>]*>[\s\S]*?|<object[^>]*>[\s\S]*?)" "id:'973338',phase:2,t:none,rev:'1',ver:'OWASP_CRS/2.2.9',maturity:'1',accuracy:'8',t:urlDecodeUni,t:htmlEntityDecode,t:jsDecode,t:cssDecode,log,capture,tag:'OWASP_CRS/WEB_ATTACK/XSS',tag:'WASCTC/WASC-8',tag:'WASCTC/WASC-22',tag:'OWASP_TOP_10/A2',tag:'OWASP_AppSensor/IE1',tag:'PCI/6.5.1',msg:'XSS Filter – Category 3: Javascript URI Vector',logdata:'Matched Data: %{TX.0} found within %{MATCHED_VAR_NAME}: %{MATCHED_VAR}',severity:'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}-OWASP_CRS/WEB_ATTACK/XSS-%{matched_var_name}=%{tx.0}" 在上面的例子中,正则expression式检查某些标签,如果find,停止请求,logging尝试,然后抛出一个403禁止。 这很好,但我有一个特定的URL,看起来像这样: /chart.php?this=haha&style=testStyle Where &style=使ModSecurity引发错误并停止请求。 同样,他们有一个规则,只是检查style= , 所以我的问题是,我怎么能改变REQUEST_URI的方式(在ModSecurity规则内),以便规则只检查之前的一切? (请求参数)。