【问题标题】:Can't disable mod_security rule on apache无法在 apache 上禁用 mod_security 规则
【发布时间】:2020-11-05 20:24:01
【问题描述】:

如果我在我的网站上发布表单数据,我会在日志文件中不断收到此错误。

[Thu Jul 16 09:45:25 2020] [error] [client 85.1.202.234] ModSecurity: Access denied with 
code 403 (phase 2). Pattern match "(?i:\\bor\\b ?(?:\\d{1,10}|[\\'"][^=]{1,10}[\\'"]) ?[=. 
<>]+|(?i:'\\s+x?or\\s+.{1,20}[+\\-!<>=])|\\b(?i:x?or)\\b\\s+(\\d{1,10}|'[^=]{1,10}')|\\b(? 
i:x?or)\\b\\s+(\\d{1,10}|'[^=]{1,10}')\\s*[=<>])" at ARGS:tx_testzentraleshop_pi1[address]. 
[file "/etc/apache2/crs/base_rules/modsecurity_crs_41_sql_injection_attacks.conf"] [line 
"134"] [id "959071"] [rev "2.2.5"] [msg "SQL Injection Attack"] [data "or 1"] [severity 
"CRITICAL"] [tag "WEB_ATTACK/SQL_INJECTION"] [tag "WASCTC/WASC-19"] [tag "OWASP_TOP_10/A1"] 
[tag "OWASP_AppSensor/CIE1"] [tag "PCI/6.5.2"] [hostname "xy.xxxx.com"] [uri 
"/tests/panier-dachat/flexShow/buy/"] [unique_id "XxAFlVvHYlQAADKCJLYAAABH"]

我尝试在配置文件中以不同方式禁用规则 959071。但它们都没有真正起作用。我总是再次收到相同的错误消息。

我尝试了这些配置:

<IfModule mod_security2.c>
  SecRuleRemoveById 959071
</IfModule>

<IfModule security2_module>
  SecRuleRemoveById 959071        
</IfModule>

SecRule REQUEST_URI "@beginswith "/tests/panier-dachat/flexShow/buy/ "id:959071,phase:2,t:none,nolog,pass,ctl:ruleRemoveById=959071"

每次更改后,我都重新启动了 apache 网络服务器。 有人能解释一下为什么他们没有工作吗?如何禁用该规则?

【问题讨论】:

标签: apache sql-injection mod-security


【解决方案1】:

SecRuleRemoveById 需要在它在配置中删除的规则之后指定,而不是之前。

【讨论】:

    猜你喜欢
    • 2013-05-09
    • 2019-02-04
    • 2019-08-12
    • 1970-01-01
    • 1970-01-01
    • 2017-05-20
    • 1970-01-01
    • 2016-11-23
    • 1970-01-01
    相关资源
    最近更新 更多