在上篇 Spring Security 6.x 系列(13)—— 会话管理之会话概念及常用配置
中了清晰了协议和会话的概念,并对 Spring Security
中的常用会话配置进行了说明,今天我们着重了解会话固定攻击防护和 Session 共享,并对部分源码进行分析。
我们在上篇讲了什么是 URL重写,知道 URL重写 原本是为了兼容禁用cookie
的浏览器而设计的,但是很多技术都有两面性,URL重写 其实存在被黑客利用的风险,其中黑客较为常用的一种攻击手段就是 会话固定攻击(session fixation attack
)。
一般情况,只要我们不关闭浏览器,并且服务端的 HttpSession
也没有过期,那么维系服务端和浏览器的 sessionid
是不会发生变化的。而会话固定攻击,则是利用这一机制,借助受害者用相同的会话 ID
获取认证和授权来进行攻击。黑客只需访问一次系统,将系统生成的 sessionid
提取并拼凑在 URL
上,然后将该URL
发给一些取