shiro550反序列化漏洞复现(附带docker源)

漏洞原理:

Shiro 550 反序列化漏洞(CVE-2016-4437)是 Apache Shiro 框架中一个严重的安全漏洞,攻击者可通过构造恶意序列化数据,触发远程代码执行(RCE)。以下是其核心原理的详细解释:

1. 漏洞背景

Apache Shiro 是一个流行的 Java 安全框架,用于身份验证、授权、加密和会话管理。在版本 1.2.4 及之前,其会话管理机制存在反序列化漏洞。

2. 反序列化基础

Java 序列化是将对象转换为字节流的过程,而反序列化则是将字节流恢复为对象。如果程序在反序列化时未严格校验输入数据,攻击者可能注入恶意序列化数据,利用 Java 的 InvocationHandler 等机制触发任意代码执行。

3. Shiro 漏洞原理

Shiro 使用 RememberMe 功能时,会将会话信息加密后存储在客户端 Cookie(名为 rememberMe)中。当客户端再次请求时,服务器会解密并反序列化该 Cookie 内容。

shiro默认使用了CookieRememberMeManager,其处理cookie的流程是:

得到rememberMe的cookie值 ---> Base64编码 ---> AES解密 ---> 反序列化

然而AES的密钥是硬编码的,就导致了攻击者可以构造恶意数据造成反序列化的RCE漏洞。

payload 构造的顺序则就是相对的反着来:

恶意命令--->序列化--->AES加密--->base64编码--->发送cookie

废话不多说,先拿靶场练练(以vulhub靶场为例)

靶场搭建:

搭建靶场的话推荐使用ubuntu系统用docker拉环境,拉起来之后默认应该是http://localhost:8080,

具体的搭建过程这里不细说了,然后就是docker源的问题,现在好多源都用不了,这里找到一个可以用的源,链接放这了:毫秒镜像 - 专为中国开发者的Docker镜像极速下载服务 | 1ms.run,然后配置的命令:

bash 复制代码
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
    "registry-mirrors": [
        "https://docker.1ms.run"
    ]
}
EOF
sudo systemctl daemon-reload

下面就开始复现了。

漏洞复现(CVE-2016-4437):

首先我们打开靶场

然后我们把它放bp去抓包

可以看见响应包里出现了Set-Cookie:rememberMe=deleteMe, 然后我们就可以用工具去利用一下(我用EasyTool里面自带的Java漏洞利用模块)

这里具体讲一下怎么用啊

1:把请求包复制在里面

2:先去爆破密钥,然后去检测当前密钥是否正确

3:先爆破再检测(这个靶场默认就是这两个利用链)

然后我们命令执行一下看一看结果:

然后我们再去注入内存马

这里我们用冰蝎4.0,然后讲一下冰蝎怎么用

冰蝎4.0利用

然后保存,设置代理

然后就连接上了

在这个里面我们可以命令执行也可以去内网渗透(具体我就不讲了,我害怕,也是因为我不太会)

相关推荐
JeJe同学5 小时前
Docker镜像导入、容器启动
linux·运维·docker
小蒋观天下7 小时前
专项方案:大场景港口AI安防、多干扰环境下的算法调优与落地实操
人工智能·深度学习·算法·安全·机器学习·计算机视觉·ai大模型
谢亮_vipxieliang8 小时前
Kubernetes 1.36 深度解读:从 kubelet 安全到 GPU 原生调度的 70 项改进
安全·kubernetes·kubelet
YH行业报告分析8 小时前
2026衬氟调节阀市场深度解析:耐腐蚀流体控制设备如何赋能化工行业安全升级?
安全
赛博守夜人9 小时前
跨境业务与出海合规之九:海外买量投放与营销虚假流量(Ad Fraud):跨国机房群控与归因欺诈识别算法
算法·安全
loong_XL9 小时前
决策模型做内容安全检测:从踩坑到上线
数据库·安全·jev·决策模型
晓德9 小时前
0、LLM大模型安全学习系列(启)
学习·安全
程序哥聊面试10 小时前
什么是 Sandbox?给 AI Agent 划一道安全边界
人工智能·安全
元Y亨H10 小时前
基于 Jenkins + Docker 的前端(Vben Admin)CI/CD 踩坑
docker·jenkins
wzq11_66611 小时前
kubernetes集群——灰度发布
云原生·容器·kubernetes