Toggle navigation
技术博客
首页
Java
Spring
DB
服务器
JS
软件
微语
留言
登录
当前位置:
首页
服务器
Shiro 反序列化漏洞及修复
Shiro 反序列化漏洞及修复
2022-01-03 17:46:03
字数:1694
433
次
服务器
**这几天公司的部署服务器在经过漏洞检测后发现了我们的系统服务器上出现Shiro 反序列化漏洞问题,这个任务自然就落到了我这个产量服务器维护的Java小白身上,下面就简单记录一下自己修复这个漏洞的过程。** ------------ 开始拿到这个任务其实我还是不明白这个到底是个什么样的问题,于是我就去开开发者社区网站了解了一下这个不知所以的问题。后来我大致了解了这个问题: #### **漏洞说明** Apache Shiro 框架提供了记住我的功能(RememberMe),用户登录成功后会 生成经过加密并编码的 cookie。cookie 的 key 为 RememberMe,cookie 的值是经过 相关信息进行序列化,然后使用 AES 加密(对称),最后再使用 Base64 编码处理。 攻击者可以使用 Shiro 的默认密钥构造恶意序列化对象进行编码来伪造用户的 Cookie,服务端反序列化时触发漏洞,从而执行命令。 了解了这个问题之后,那就想着如何去修复这个问题啊.但是却又不知道怎么修复,所以只能去求助度娘了, 经过我用力的百度,得到了两个解决问题的方法: #### **解决方法** 解决方法升级 Shiro 到最新版本 WAF 拦截 Cookie 中长度过大的 rememberMe 值 升级 Shiro 到最新版本 首先第一个升级升级 Shiro 到最新版本,意思就是这个漏洞只有在低版本的shiro才会出现,所以我们需要升级服务器中的shiro包到最新的版本。那怎么看你到底需要升级那些地方的shiro包呢?很简单,你只需要在你的项目部署目录下面输入一下命令即可: grep -rn 'org.apache.shiro' 如图所示:  **需要更新的包:** shiro-cas-1.2.2.jar shiro-core-1.2.2.jar shiro-ehcache-1.2.2.jar shiro-quartz-1.2.2.jar shiro-spring-1.2.2.jar shiro-web-1.2.2.jar **获取最新的包** 然后去maven线上地址 [https://search.maven.org/](https://search.maven.org/) 搜索下载你需要的jar包替换线上目录的jar包即可,比如你需要新的shiro-core包,如图所示  选择第一个  选择最新的版本  按照图示下载最新的jar包即可,然后替换服务器上需要替换的jar包,,重启项目即可。 重启后我们检测一下服务器是否还有漏洞,在网找了一个检测的jar包, **获取地址**:https://github.com/feihong-cs/ShiroExploit-Deprecated 在本地跑一下,检测结果如图所示  说明漏洞已经清除
给我留言吧
昵称*
提交评论
留言板
0
00
发表于:2022-11-08 16:43:55
回复
o了
目录
微信
分类
Nginx
系统
文学
生活
历史
地理
学习网站
nginx资源站
runoob学习网
redis学习网
vue中文网
dubbo
返回顶部
×
登录/注册
用户名
昵称
密码
确认密码
提交
没有账号?
马上注册
提交
已有账号?
去登录