平台让人打穿了(Shiro反序列化)

简介: 平台让人打穿了(Shiro反序列化)

最近攻防演练,一个业务平台被打穿了,还是个很老的漏洞shiro反序列化,记录一下如何识别这个漏洞。
Shiro 干嘛用的:Shiro 是Java 的一个安全框架。Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE 环境,也可以用在JavaEE 环境。Shiro 可以帮助我们完成:认证、授权、加密、会话管理、与Web 集成、缓存等。
Shiro 功能很多,而Shiro 反序列化漏洞一般会出现在Remember Me功能上:这个是非常常见的功能,即一次登录后,下次再来的话不用登录了。
也就是说在登录、跨域访问的时候会调用这个,那么接下来要找到这个漏洞就简单了。
实战

工具:
Burp Sutie+ShiroScan插件
shiro_attack_2.2综合利用工具
jdk8+jdk11环境:jdk8运行shiro_attack_2.2综合利用工具,jdk11运行最新版本burpsutie
工具包下载
链接:https://pan.baidu.com/s/1yTOfePgj8bU6DJvCDDhfpQ

提取码:6666

被动发现Shiro 反序列化漏洞环境:如果你是个很懒的工具人可以使用ShiroScan插件来被动发现该漏洞。
1.Burp Sutie加载ShiroScan插件
image.png

2.测试功能点的时候有相关漏洞会自己发现
image.png

3.细心的小伙伴就会发现咋没有发现key,当插件跑不出来key的时候可以使用shiro_attack_2.2综合利用工具进行暴力跑key。
image.png

4.跑出key和利用链之后就可以执行命令了

image.png

5.剩下的就是反弹shell或者frp代理进行内网横向渗透了,这里就不多演示了。
6.备注:运行shiro_attack_2.2综合利用工具,需要jdk8的环境,与最新burpsutie版本不兼容,建议另外使用虚拟机运行。

相关文章
|
安全 关系型数据库 MySQL
记一次Shiro反序列化到远程桌面
记一次Shiro反序列化到远程桌面
70 1
hutool工具对象序列化和反序列化
hutool工具对象序列化和反序列化
hutool工具对象序列化和反序列化
|
安全 算法 Oracle
【WEB安全】Apache Shiro 反序列化漏洞(上)
Apache Shiro是一款开源企业常见JAVA安全框架,提供身份验证、授权、密码学和会话管理。java中的权限框架有SpringSecurity和Shiro,由于Spring功能强大但复杂,Shiro的简单强大,扩展性好因此用的还是很多。
738 0
【WEB安全】Apache Shiro 反序列化漏洞(上)
|
5月前
|
JSON Java API
jackson序列化和反序列化中的注解和扩展点大全【收藏】
jackson序列化和反序列化中的注解和扩展点大全【收藏】
|
JSON 前端开发 Java
【工作中问题解决实践 七】SpringBoot集成Jackson进行对象序列化和反序列化
【工作中问题解决实践 七】SpringBoot集成Jackson进行对象序列化和反序列化
424 0
|
安全 Java Shell
Shiro序列化攻击
Shiro序列化攻击
|
消息中间件 NoSQL 安全
【Spring技术原理】采用protostuff和kryo高性能序列化框架实现RestTemplate的序列化组件
【Spring技术原理】采用protostuff和kryo高性能序列化框架实现RestTemplate的序列化组件
286 0
【Spring技术原理】采用protostuff和kryo高性能序列化框架实现RestTemplate的序列化组件
|
缓存 安全 Apache
2021年你还不会Shiro?----3.分析身份认证源码实现自定义Realm
我们已经知道无论我们是认证还是授权,数据的获取都是来源于Realm,Realm就相当于我们的datasource,在上一篇中我们使用的是用IniRealm来加载我们的配置文件shiro.ini,同时我们也说了ini只是临时解决方案,在实际的开发中是不可能把用户信息和权限信息放在ini文件中的,都是来源于数据库,那么系统提供的IniRealm就不能满足我们的需要了,我们就需要自定义Realm来实现真正的场景,事实上ini文件也只是apache为我们提供学习使用的策略,下面我们就来看下怎么自己定义一个Realm。
115 0
2021年你还不会Shiro?----3.分析身份认证源码实现自定义Realm
|
XML JSON 缓存
【WEB安全】Fastjson反序列化(上)
Java 序列化及反序列化处理在基于Java 架构的Web应用中具有尤为重要的作用。例如位于网络两端、彼此不共享内存信息的两个Web应用在进行远程通信时,无论相互间发送何种类型的数据,在网络中实际上都是以二进制序列的形式传输的。为此,发送方必须将要发送的Java 对象序列化为字节流,接收方则需要将字节流再反序列化还原得到Java 对象,才能实现正常通信。当攻击者输入精心构造的字节流被反序列化为恶意对象时,就会造成一系列的安全问题。
573 0
【WEB安全】Fastjson反序列化(上)
|
SQL 安全 Java
Shiro - 基础篇(下)
Shiro - 基础篇(下)
116 0
Shiro - 基础篇(下)