我们在我们的应用程序中使用Spring Security框架,尤其是防止它反对CSRF攻击 .
在OWASP document about CSRF attacks prevention cheat sheet中,他们讨论了同步器令牌模式 . 因此,当提供错误的CSRF令牌时,他们建议:
-
中止请求
-
重置CSRF令牌
-
将事件记录为正在进行的潜在CSRF攻击
我做了一个测试,提供了一个错误的CSRF并获得了以下结果:
-
请求中止,响应状态设置为403(= Forbiden)
-
token is not reset
-
A simple DEBUG log 由Spring CSRFFilter完成:“为REQUESTED_URL找到无效的CSRF令牌”
所以,我的问题是:
-
Q1:有可能 ask Spring Security to reset the CSRF token?
-
Q2:有可能 ask Spring Security to log a WARN message instead of a DEBUG message about a potential CSRF attack in progress?
谢谢 .
1 回答
你不是一个人 . 我还在弄清楚如何重置令牌 .
要回答q2,您可以指定自定义AccessDeniedHandler,它允许您以您喜欢的方式处理InvalidCsrfTokenException . 您可以找到详细信息here .