0
点赞
收藏
分享

微信扫一扫

shiro漏洞复现

月半小夜曲_ 2022-03-30 阅读 69
java后端

声明

写这个的目的,也是为了学习,分享,交流,希望能被大家看到,我们可以互相学习,希望大家以学习为目的进行漏洞复现,如果有评论的话,我也会认真的看,指出我的不足,我也会认真的改正,嘿嘿,毕竟这条路需要一直学习新的知识,话不多说

漏洞描述

Apache Shiro框架提供了记住密码的功能(RememberMe),用户登录成功后会生成经过加密并编码的cookie。在服务端对rememberMe的cookie值,先base64解码然后AES解密再反序列化,就导致了反序列化RCE漏洞。
那么,Payload产生的过程:
命令=>序列化=>AES加密=>base64编码=>RememberMe Cookie值
在整个漏洞利用过程中,比较重要的是AES加密的密钥,如果没有修改默认的密钥那么就很容易就知道密钥了,Payload构造起来也是十分的简单

影响范围

Apache Shiro < 1.2.4

复现过程

先附上exp的地址
链接:https://pan.baidu.com/s/1NZnHcplGckxksGDU0vu0Ow
提取码:6i4p
漏洞镜像可以用docker获取

docker pull medicean/vulapps:s_shiro_1

在这里插入图片描述
在这里插入图片描述

获取镜像后访问默认端口8080
http://docker-ip:8080
显示无法连接,原来是没有映射(把这个坑说一下,毕竟自己也踩了。。。)
把8080端口映射到5555端口
docker run -d -p 5555:8080 medicean/vulapps:s_shiro_1
映射后可访问漏洞环境
都内网docker的ip遮不遮也无所谓了,早知道不遮了,搞得有些遮了有些没遮,浪费时间~~
http://docker-ip:5555
在这里插入图片描述
使用exp,exp需要调用yso生成payload(ysoserial.jar是java反序列化中常用的payload包)在这里插入图片描述
打开exp的jar包,输入目标地址,进入下一步
在这里插入图片描述
先用第一种进行漏洞检测
在这里插入图片描述
开始检测,发现,可以利用
在这里插入图片描述
执行命令,没啥反应

在这里插入图片描述
试试反弹shell
使用在这里插入图片描述
nc监听
在这里插入图片描述

nc -lvvp 4444

反连

kali-ip:4444

在这里插入图片描述

试试webshell(这里我是有个坑的,我把坑的过程也展示出来)

二话不说,没有思考就直接生成php的马
在这里插入图片描述

访问查看源码(因为不知道密码)

在这里插入图片描述

这里是冰蝎马,所以要用用冰蝎连,双击打开,怎么也连不上
在这里插入图片描述

在这里插入图片描述

思考了一下,没细看马,明显不是php是jsp的啊,并且shiro也是apache的,显然不是php,再试一次,把上述过程php换成jsp,成功

在这里插入图片描述

举报

相关推荐

0 条评论