`

部署在阿里云上的项目收到了阿里云发送的shiro漏洞

阅读更多
编辑

还记得在十月份凯哥发布过一篇修改若依系统编辑器的文章,然后为了方便大家浏览,凯哥就部署在服务器上了,结果,没想到最近收到了阿里云漏洞扫描通知:

编辑

如果不修改的话:对于长期存在安全隐患但未整改的网络资源,监管部门可能会下达行政处罚

编辑

根据扫描结果,搜索了下漏洞的证明(如下图):在项目中搜索,我去,还真是啊。

编辑

漏洞描述

Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。

漏洞造成的影响

在配置了默认密钥的情况下,攻击者可以通过精心构造的 Payload 实现远程命令执行,从而进一步获取服务器权限。

安全建议

升级shiro至最新版本1.7.0并生成新的密钥替换,注意妥善保管密钥,防止泄漏。

利用官方提供的方法生成密钥:org.apache.shiro.crypto.AbstractSymmetricCipherService#generateNewKey(),换key修复指南:

于是急忙的修改了shiro的版本号,重新生成了密钥生成规则。

解决方案

后面通过源码分析,发现了shiro有自己的随机生成秘钥的方法。既然找到的方法,那就好说了,按照源码的方式新写一个秘钥生成器:

public class GenerateCipherKey {

    /**
     * 随机生成秘钥,参考org.apache.shiro.crypto.AbstractSymmetricCipherService#generateNewKey(int)
     * @return
     */
    public static byte[] generateNewKey() {
        KeyGenerator kg;
        try {
            kg = KeyGenerator.getInstance("AES");
        } catch (NoSuchAlgorithmException var5) {
        //这里的msg可以任意随机输入
            String msg = "kaigejavaXXnnOOdd";
            throw new IllegalStateException(msg, var5);
        }

        kg.init(128);
        SecretKey key = kg.generateKey();
        byte[] encoded = key.getEncoded();
        return encoded;
    }
}

对于传统的xml配置项目修改方案:

在shiro的配置文件中,引入key的方法:

编辑

其中图中箭头的位置是自己项目类全路径的包名。

对于spring boot项目修改方案:

同样是修改shiro的配置文件,只是spring boot的方式不同了,使用的是就java 类的方式。修改如下:

编辑

项目已经重新部署了,可以访问了。同时已经提交到码云上了,欢迎之前下载的朋友更新。

编辑

获取最新项目源码及shiro漏洞报告==>

分享到:
评论

相关推荐

    shiro漏洞检测工具

    shiro漏洞检测工具,找了一个18M左右的不好用,经验证这个好用,不会报找不到类错误。

    此项目是一个简单的springboot+shiro项目,旨在重现CVE-2020-13933 shiro漏洞.zip

    此项目是一个简单的springboot+shiro项目,旨在重现CVE-2020-13933 shiro漏洞.zip此项目是一个简单的springboot+shiro项目,旨在重现CVE-2020-13933 shiro漏洞.zip此项目是一个简单的springboot+shiro项目,旨在重现...

    shiro反序列化漏洞暴力破解漏洞检测工具

    1.shiro反序列化漏洞、暴力破解漏洞检测工具源码 2.shiro反序列化漏洞、暴力破解漏洞检测工具jar包 3.shiro反序列化漏洞、暴力破解漏洞检测工具启动方法 4.shiro反序列化漏洞、暴力破解漏洞检测工具使用方法 5.shiro...

    shiro 反序列化漏洞综合利用工具 shiro_attack_by J1anfen

    当这些操作不受限制时,恶意用户可以利用此漏洞,发送特制的序列化数据包,使得 Shiro 在反序列化过程中执行恶意代码。J1anfen 创建的 "shiro_attack_by J1anfen" 工具就是为了检测和验证这种漏洞的存在。 该工具...

    Shiro反序列化漏洞,Shiro版本升级资源

    shiro使用的版本是1.2.4,存在反序列化漏洞,我们采取的办法是手动升级到了1.2.6版本,但苦于无法验证是否解决了问题,后来发现了一款测试工具,ShiroExploit。 测试工具下载地址 ... 反序列化漏洞是如何产生的?...

    shiro1.7.1全包修补漏洞.rar

    9. **shiro-all-1.7.1.jar**: 包含了Shiro的所有模块,如果你希望在一个项目中使用Shiro的所有功能,可以直接引入这个包,而无需单独导入每个模块。 10. **shiro-jaxrs-1.7.1.jar**: 提供了对JAX-RS(Java API for ...

    高版本AES-GCM模式加密的Shiro漏洞利用1

    高版本AES-GCM模式加密的Shiro漏洞利用1是指在Shiro框架中,使用高版本AES-GCM模式加密时出现的漏洞利用问题。Shiro框架在高版本中更换了加密算法,从AES-CBC换成了AES-GCM,这导致了之前的exp不能用于新版Shiro的...

    Shiro反序列化漏洞检测工具

    在Shiro的早期版本中,尤其是1.2.4及以下版本,存在一个严重的反序列化漏洞,这个漏洞可能导致远程代码执行(RCE)的风险,攻击者可以利用这个漏洞对目标系统进行非法操作。 反序列化漏洞通常出现在应用程序接收到...

    权限管理Shiro系统-Apache开源顶级项目shiro-SpringMVC_Shiro项目

    权限管理Shiro系统-Apache开源顶级项目shiro-SpringMVC_Shiro项目

    shiro反序列化漏洞利用工具

    图形化界面,该工具支持漏洞检测,请勿用作非法途径,否则后果自负。 Shiro550无需提供rememberMe Cookie,Shiro721需要提供一个有效的rememberMe Cookie 可以手工指定特定的 Key/Gadget/EchoType(支持多选),如果...

    shiro远程命令执行漏洞检测工具.zip

    shiro远程命令执行漏洞检测工具:包括了shiro_attack_2.2和ShiroExploit.V2.51,大家可根据需要自行下载

    给予shiro的项目

    这个基于Shiro的项目旨在简化IT项目中的权限管理任务,帮助开发者快速构建安全的系统。 1. **Shiro的身份验证**:Shiro提供了一种简单的方式来验证用户身份。它可以处理用户名/密码的输入,与数据库或其他身份存储...

    shiro-core 低版本漏洞检测

    shiro-core 低版本漏洞检测工具

    Apache shiro1.2.4反序列化漏洞介绍.docx

    然而,在Apache Shiro 1.2.4及其更早的版本中,存在一个严重的反序列化漏洞。这个漏洞主要与RememberMe服务的实现有关。在处理RememberMe的Cookie时,Shiro的`CookieRememberMeManager`类会执行一系列操作:首先,它...

    shiro反序列化漏洞检测工具,含链接教程

    在网络安全领域,Shiro的反序列化漏洞是一个常见的安全问题,攻击者可能利用这个漏洞执行恶意代码,对系统造成严重威胁。 该压缩包文件包含的`shiro_tool.jar`很可能是一个专门用于检测Apache Shiro反序列化漏洞的...

    shiro授权 shiro和企业项目整合开发

    在本文中,我们将深入探讨 Shiro 的授权机制,以及如何在实际的企业项目中与之整合,实现自定义 Realm,缓存管理和验证码与“记住我”功能。 ### 一、Shiro 授权机制 Shiro 的授权(Authorization)主要负责确定...

    spring shiro项目

    在Spring Shiro项目中,我们可以利用Shiro的SessionManager和SessionDAO,将用户的会话状态保存在数据库中,从而实现多个应用服务器间的会话同步。 5. **DB控制地址拦截** 项目中提到的"可以通过DB控制地址拦截...

    SSM和Shiro小项目

    在项目中,开发者可以通过阅读文档和源代码,了解SSM和Shiro的集成过程,学习如何配置它们的bean、编写Controller、Service以及DAO,同时掌握Shiro的配置文件(如shiro.ini或shiro.xml)和相关注解的使用方法。...

    在web项目中应用Shiro

    ### 在Web项目中应用Shiro #### 一、Shiro简介与重要性 Apache Shiro是一个强大且易用的Java安全框架,它提供了身份验证、授权、加密和会话管理功能,可以非常容易地开发出足够安全的应用。本文旨在详细介绍如何在...

    SpringMVC+shiro项目实例

    接下来,我们将详细讨论SpringMVC和Shiro的相关知识点,以及如何在实际项目中结合使用它们。 **SpringMVC** SpringMVC是Spring框架的一部分,它是用于构建Java Web应用程序的模型-视图-控制器(MVC)框架。...

Global site tag (gtag.js) - Google Analytics