• Shiro漏洞复现


    Shiro漏洞复现

    简介

    Apache Shiro™是一个功能强大且易于使用的 Java 安全框架,它执行身份验证、授权、加密和会话管理。借助 Shiro 易于理解的 API,您可以快速轻松地保护任何应用程序——从最小的移动应用程序到最大的 Web 和企业应用程序。

    CVE-2016-4437

    Apache Shiro 反序列化漏洞

    漏洞原理

    Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的默认密钥伪造用户Cookie,触发Java反序列化漏洞,进而在目标机器上执行任意命令。其默认密钥的base64编码后的值为kPH+bIxk5D2deZiIxcaaaA==,这里就可以通过构造恶意的序列化对象进行编码,加密,然后作为cookie加密发送,服务端接收后会解密并触发反序列化漏洞。

    处理流程:得到rememberMe的cookie值-->Base64解码-->AES解密-->反序列化

    漏洞分析

    AbstractRememberMeManager.java中实现rememberMe的解密代码

    getRememberedSerializedIdentity返回cookie中rememberMe的base64解码后的bytes

    继续调用convertBytesToPrincipals方法对解码后的bytes处理,跟进convertBytesToPrincipals方法,调用decrypt方法对bytes进行解密。

    protected PrincipalCollection convertBytesToPrincipals(byte[] bytes, SubjectContext subjectContext) {
            if (getCipherService() != null) {
                bytes = decrypt(bytes);
            }
            return deserialize(bytes);
        }
    
    
    

    解密后得到的结果为序列化字符串的bytes。

    然后进入到deserialize方法进行反序列化,即用户可控的rememberMe值经过解密后进行反序列化从而引发反序列化漏洞。

    漏洞复现

    直接使用vulhub,vulhub/shiro/CVE-2016-4437/

    执行如下命令启动一个使用了Apache Shiro 1.2.4的Web服务:

    docker-compose up -d
    

    服务启动后,访问http://your-ip:8080

    我们直接使用工具进行测试,工具地址

    同时此工具可以直接上传内存马,非常便捷

    CVE-2020-1957

    Apache Shiro权限绕过

    漏洞原理

    在Apache Shiro 1.5.2以前的版本中,在使用Spring动态控制器时,攻击者通过构造..;这样的跳转,可以绕过Shiro中对目录的权限限制。

    漏洞复现

    /vulhub-master/shiro/CVE-2020-1957

    运行docker-compose up -d

    访问页面

    直接访问/admin目录,会跳转到登陆页面

    此时我们增加..;绕过目录限制

    成功访问到admin目录下

    总结

    最近以学习红队知识为主,内网还有主流框架漏洞这一块都在跟进,shiro实战中利用还是比较多的,通过复现,看能不能在实战中打下几个shiro。

    要记住在hw红队时,拿不下靶标的感觉,好好努力

    最近因为某人非常开心,心态很好,学习动力也是满满,继续加油吧!凡是过往,皆为序章。希望最后的几个月大学时光能好好把握

  • 相关阅读:
    开源 Serverless 里程碑:Knative 1.0 来了
    以一致的体验交付和管理云原生多集群应用
    iLogtail使用入门K8S环境日志采集到SLS
    如何在golang代码里面解析容器镜像
    mac vmware 无法复制粘贴
    使用vi编辑时上下左右方向键被转化为A、B、C、D
    left join 和 left outer join 的区别
    设计模式之 适配器模式
    设计模式之 命令模式
    设计模式学习之 策略模式
  • 原文地址:https://www.cnblogs.com/karsa/p/15915112.html
Copyright © 2020-2023  润新知