Shiro用户登陆后会话标识未更新漏洞
前言
这是我在以前遇到的问题了, 当时做的是政府项目, 对Web
安全要求比较高.
使用Shiro
的项目被安全准入检测出用户登陆后会话标识未更新漏洞.
意思是登录前的Session
和登录后的Session
一样。
官方修复无望, 自己打补丁
2010-05-24
提出的SHIRO-170, 至今2019-03-27
仍然未解决.
看来修复无望了, 但是勤劳的人民给出了临时性的解决方案.
那就是在登录时, 先销毁session
, 再login
.
主要步骤如下:
- 获取
session
, 保存session
中的属性Map
session.stop()
销毁- 进行登录
subject.login(token)
- 将之前保存的属性
Map
, 重新注入新的session
具体代码可以查看我的个人代码库LoginController.java#L91-L113