Apache Shiro 默认密钥致命令执行漏洞


今天登录服务器上面提示有漏洞提示:Apache Shiro 默认密钥致命令执行漏洞(CVE-2016-4437)【远程扫描】,接下来为大家介绍一下Apache Shiro 默认密钥致命令执行漏洞的修复方法,有需要的小伙伴可以参考一下

1、 漏洞描述:

Apache Shiro 是ASF旗下的一款开源软件,它提供了一个强大而灵活的安全框架,提供身份验证、授权、密码学和会话管理。在Apache Shiro部分旧版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中,攻击者可以使用Shiro的默认密钥伪造用户Cookie,触发Java反序列化漏洞,进而在目标机器上执行任意命令。

2、漏洞特征:

远程代码执行
只要rememberMe的AES加密密钥泄露,无论shiro是什么版本都会导致反序列化漏洞。

3、修复建议:

(1)、升级shiro至最新版本1.7.0并生成新的密钥替换。

(2)、使用官方秘钥生成方法:org.apache.shiro.crypto.AbstractSymmetricCipherService#generateNewKey()

(3)、验证方法:Apache Shiro 默认密钥致命令执行漏洞验证工具

备注:若在配置里配置了默认密钥,则立即修改,并妥善保管该密钥。

4、修复过程

针对此次shiro版本升级过程中主要分为jar包升级修复RemberMe功能,如果网站在登录过程中设置了RemberMe的相关功能,需要针对秘钥生成方式和秘钥进行修改,如未使用到RemberMe的相关功能,则只需要更新项目的相关jar包即可

JAR包升级

<!--shiro核心包-->
<dependency>
	<groupId>org.apache.shiro</groupId>
	<artifactId>shiro-core</artifactId>
	<version>1.7.0</version>
</dependency>

<!--shiro整合web-->
<dependency>
      <groupId>org.apache.shiro</groupId>
      <artifactId>shiro-web</artifactId>
      <version>1.7.0</version>
 </dependency>
 
 <!--shiro整合Spring-->
<dependency>
    <groupId>org.apache.shiro</groupId>
    <artifactId>shiro-spring</artifactId>
    <version>1.7.0</version>
</dependency>

<!--升级shiro1.2.4及以上版本 需要单独引入encoder-->
<dependency>
    <groupId>org.owasp.encoder</groupId>
    <artifactId>encoder</artifactId>
    <version>1.2.3</version>
</dependency>

修复RemberMe功能

因项目未涉及到记住我相关功能,详情建议参考:https://www.cnblogs.com/loong-hon/p/10619616.html

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值