我已经安装了 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 https://github.com/SpiderLabs/owasp-modsecurity-crs/blob/master/optional_rules/modsecurity_crs_43_csrf_protection.conf
关于如何解决这个问题有什么想法吗?
它正在检查您的应用程序以确保您在所有页面上使用 CRSF 令牌。空白 php 文件将无法通过此检查,因为您必须将令牌编码到表单中。
CRSF 令牌用于验证 Web 表单的回发来自您页面中的表单,而不是来自攻击者。维基百科上有更多关于此的信息:跨站请求伪造 http://en.wikipedia.org/wiki/Cross-site_request_forgery
您的选择是:
- 在您的应用程序中实施 CRSF 检查并提供令牌。
- 通过从activated_rules目录中删除modsecurity_crs_43_csrf_protection.conf的链接来停止modsecurity检查此问题。默认情况下这是 /usr/local/apache/conf/crs/activated_rules
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)