ModSecurity:访问被拒绝,代码403&检测到SQL注入

时间:2015-09-29 13:54:11

标签: php wordpress mod-security

我有一个wordpress插件试图保存信息但被阻止。这可能是误报,我不确定。如何启用一个特定的插件来绕过导致它被阻止的任何规则?

以下是我的主人向我投掷的错误代码。

[Tue Sep 29 08:50:45 2015] [error] [client xxx.xxx.xxx.xxx] ModSecurity: Access denied with code 403 (phase 2). Operator GT matched 15 at TX:sql_injection_score. [file "/etc/httpd/modsecurity.d/modsecurity_crs_49_inbound_blocking.conf"] [line "51"] [id "4049002"] [msg "SQL Injection Detected (score 20): XSS Attack Detected"] [hostname "xxxxx.com"] [uri "/wp-admin/admin.php"] [unique_id "VgqJJWjP6lgAAEaaTogAAAAZ"]

这是一个已经存在的插件。它被称为WP社会邀请 - wordpress.org/plugins/wp-social-invitations完全诚实,大部分内容都在我头上。我不确定我甚至需要向您展示哪些代码。开发人员告诉我他们使用wordpress默认wp_options表来存储数据,所以不应该出现这个错误

1 个答案:

答案 0 :(得分:0)

这里有一个开始视图,可以看到有关ModSecurity的更多信息: "ModSecurity Access Denied" in logs. I don't understand what its telling me.. Should I be concerned?

您提供的错误表明,由于某种原因,ModSecurity已标记该请求并将其屏蔽。

已解雇的规则(4049002)表示已通过阈值。这必须意味着先前的规则已设置该变量。因此,您需要向我们提供有关设置sql_injection_score的先前错误的详细信息 - 大概就在您给出的那一行之上。

或者,您可以将以下配置添加到Apache配置(例如.htaccess文件)以防止此规则触发:

SecRuleRemoveByID 4049002

然而,这消除了规则为您提供SQL注入攻击的保护。因此,更好的选择是找到导致其触发的原始​​规则,并查看是否可以将其原因列入白名单,而不是将整个规则列入白名单。