Spring Security---会话固定攻击防御

Posted Java Gosling

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Security---会话固定攻击防御相关的知识,希望对你有一定的参考价值。

什么是会话固定攻击?

会话固定攻击英文叫做 session fixation attack,其攻击原理是利用sessionId的不变性。

假设攻击者登录www.xxx.com网站,此时会生成一个sessionId。攻击者利用某种手段欺骗受害者访问该网站,但是会在网站后拼接自己的sessionId。当受害者访问www.xxx.com并进行登录后,此时的sessionId还是攻击者登录后返回的sessionId,因为sessionId没有变化,当攻击者再次登录该网站后,此时系统发现sessionId没有发生变化,攻击者就拥有了受害者的身份了,就该做坏事了。

Spring Security配置防御会话固定攻击

  • changeSessionId:表示在登录成功之后,session 不变,但是会修改 sessionid,其实也相当于改变了session,因为这样攻击者的sessionid找不到对应的session了。
  • migrateSession: Spring Security的默认策略,表示在登录成功之后,会创建一个新的Session,把旧的Session中的数据复制过来。
  • newSession : 表示在登录成功之后,创建一个新的 session。
  • none: 表示不做任何事情,在登录成功之后,会继续使用旧的 session,这种情况是无法防御会话固定攻击

以上是关于Spring Security---会话固定攻击防御的主要内容,如果未能解决你的问题,请参考以下文章

带有会话 Cookie 的 Spring Security RememberMe 服务

转:iOS 客户端 HTTPS 防中间人攻击实践

Spring Security系列之核心概念

会话固定攻击 - yxcms session固定漏洞

php防止会话固定攻击

02-xss固定会话攻击