4

我已经安装了 Owasp ModSecurity,之后我的应用程序上的所有页面都有这个规则警报。

ModSecurity: Warning. Match of "eq 1" against "&ARGS:CSRF_TOKEN" required. 
[file "/etc/modsecurity/activated_rules/modsecurity_crs_43_csrf_protection.conf"] 
[line "31"] 
[id "981143"] 
[msg "CSRF Attack Detected - Missing CSRF Token."]

我还尝试创建一个空白 php 文件来检查,显示相同的规则警报。
从这一点来看,我认为问题不再是代码级别的问题。

这是modsecurity_crs_43_csrf_protection.conf的源代码

关于如何解决这个问题的任何想法?

4

1 回答 1

0

它正在检查您的应用程序以确保您在所有页面上都使用 CRSF 令牌。空白 php 文件将无法通过此检查,因为您必须将令牌编码到表单中。

CRSF 令牌用于验证来自 Web 表单的回发来自页面中的表单,而不是来自攻击者。维基百科上有更多关于此的信息:跨站点请求伪造

您的选择是:

  1. 在您的应用程序中实施 CRSF 检查并提供令牌。
  2. 通过从activated_rules 目录中删除指向modsecurity_crs_43_csrf_protection.conf 的链接来停止对该问题的modsecurity 检查。这是 /usr/local/apache/conf/crs/activated_rules 默认情况下
于 2014-10-16T11:04:55.720 回答