背景 某公司线上服务器意外发现一个Apache Shiro 反序列化漏洞,可以直接GetShell.出于做安全的谨慎,马上出现场应急,确认漏洞.该漏洞存在在cookie字段中的rememberMe字段中,可以RCE 漏洞应急 来到现场后,发现已经升级了,漏洞确认修复完成,只能查看以前的攻击痕迹. 查看账号情况 首先查看账户文件/etc/passwd,修改时间和内容没有什么问题 stat /etc/passwd cat /etc/passwd 查看文件情况 查看最近修改过的文件没看到特殊异常 ls…
Shiro反序列化漏洞分析及代码审计 漏洞简介 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码和会话管理.   Apache Shiro默认使用了CookieRememberMeManager,用户登录成功后会生成经过加密并编码的cookie,在服务端对rememberMe的cookie值,先base64解码然后AES解密再反序列化,就导致了反序列化RCE漏洞. 漏洞影响 Apache Shiro < 1.2.4 漏洞分析 这里是直接从github拉下来得,…
Apache Shiro反序列化漏洞复现 0x01 搭建环境 获取docker镜像 Docker pull medicean/vulapps:s_shiro_1 重启docker system restart docker 启动docker镜像: docker run -d -p 8082:8080 medicean/vulapps:s_shiro_1 访问: http://192.168.1.192:8082/ 环境搭建成功 攻击机:139.199.179.167 受害者:192.168.19…
0x01前言 之前在我反序列化的那篇文章中(https://www.cnblogs.com/lcxblogs/p/13539535.html),简单说了一下反序列化漏洞,也提了一嘴常见的几种Java框架的反序列化漏洞 当时没想继续说的,但是因为最近正好遇到了,就再来说说关于Apache shiro Java反序列化漏洞的一点思考(本文特指shiro rememberMe 硬编码密钥反序列化漏洞即shiro 550,不是Shiro Padding Oracle Attack那个shiro 721的…
漏洞描述 Apache Shiro是一个Java安全框架,执行身份验证.授权.密码和会话管理.只要rememberMe的AES加密密钥泄露,无论shiro是什么版本都会导致反序列化漏洞. 漏洞原理 Apache Shiro框架提供了记住我(RememberMe)的功能,关闭了浏览器下次再打开时还是能记住你是谁,下次访问时无需再登录即可访问. Shiro对rememberMe的cookie做了加密处理,shiro在CookieRememberMeManaer类中将cookie中rememberMe…
Apache Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能.Shiro框架直观.易用,同时也能提供健壮的安全性. 文章目录: 1.Shiro rememberMe反序列化漏洞(Shiro-550) 1.1 漏洞原理 1.2 影响版本 1.3 漏洞特征 1.4 漏洞利用 1.4.1 利用方式一 1.4.2 利用方式二 2.Shiro Padding Oracle Attack(Shiro-721) 2.1 漏洞原理 2.2 影响版本 2.3 漏洞利用 3.一键…
Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码和会话管理.使用Shiro的易于理解的API,可以快速.轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序.它编号为550的 issue 中爆出了严重的 Java 反序列化漏洞. 漏洞影响版本:Apache Shiro 1.2.4 Shiro反序列化特征:在返回包的 Set-Cookie 中存在 rememberMe=deleteMe 字段 shiro反序列化复现 环境: 我们的公网VPS:1…
环境搭建 docker pull medicean/vulapps:s_shiro_1 docker run -d -p 80:8080 medicean/vulapps:s_shiro_1 # 80是指靶机端口,可随意修改 Windows安装模块:pip install pycryptodome 挖掘思路 判断漏洞 登录的时候发现 rememberMe 参数,判断是 shiro (外网可以访问的情况下)利用在线POC进行验证:http://sbd.ximcx.cn/ShiroRce/ 利用 P…
Shiro550 环境搭建 参考:https://www.cnblogs.com/twosmi1e/p/14279403.html 使用Docker vulhub中的环境 docker cp 将容器内的shiro的jar包copy出来 docker cp dd54fcfb67c6:/shirodemo-1.0-SNAPSHOT.jar ~/Desktop 解压jar包,IDEA打开,在libraries 导入该jar包 在modules 中添加解压后的jar中BOOT_INF目录 修改Docke…
1.漏洞原理: Shiro 是 Java 的一个安全框架,执行身份验证.授权.密码.会话管理 shiro默认使用了CookieRememberMeManager,其处理cookie的流程是:得到rememberMe的 cookie值–>Base64解码–>AES解密–>反序列化 然而AES的密钥是硬编码的,就导致了攻击者可以构造恶 意数据造成反序列化的RCE漏洞. 2.特征判断: 返回包中包含rememberMe=deleteMe字段. 3.如何去利用: (1)反序列化--->AE…