首页 > 其他分享 >Apache Shiro 反序列化漏洞(CVE-2016-4437)

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

时间:2023-07-28 12:23:21浏览次数:40  
标签:序列化 漏洞 Shiro Apache 2016 CVE shiro 密钥

漏洞简介

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

版本信息:Apache Shiro <= 1.2.4

漏洞名称:Apache Shiro 1.2.4 反序列化漏洞,即shiro-550反序列化漏洞。

漏洞形成原理:

1、检索RememberMe cookie 的值
2、Base 64解码
3、使用AES解密(加密密钥硬编码)
4、进行反序列化操作(未作过滤处理)
在调用反序列化时未进行任何过滤,导致可以触发远程代码执行漏洞。

漏洞复现

开启vulhub靶场环境,确保shiro正常运行

cd vulhub-master/shiro/CVE-2016-4437
docker-compose up -d
docker ps -a
docker logs 58a9  #58a9替换成你的容器名称

启动Poc-number.py快速打点工具,输入命令进行检测

pocbomber.py -u http://192.168.8.139:8080

检测出shiro框架,并成功爆破shiro密钥

开启shiro综合利用工具

输入目标地址、指定密钥、点击 检测当前密钥

或者点击 爆破密钥,成功爆破密钥

 

点击 检测当前利用链

点击 命令执行,输入命令id,输入命令ls,成功输出结果

 

#手动检测:bp抓包识别指纹——.py脚本、dnslog外带检测漏洞——利用过程 { 详细 }

标签:序列化,漏洞,Shiro,Apache,2016,CVE,shiro,密钥
From: https://www.cnblogs.com/dustfree/p/17587261.html

相关文章

  • 比JDK最高快170倍,蚂蚁开源一款序列化框架!
    点击“终码一生”,关注,置顶公众号每日技术干货,第一时间送达! Fury是一个基于JIT动态编译和零拷贝的多语言序列化框架,支持Java/Python/Golang/JavaScript/C++等语言,提供全自动的对象多语言/跨语言序列化能力,和相比JDK最高170倍的性能。GitHub地址为:https://github.com/al......
  • PHP 中优雅的将JSON/XML/YAML 等数据反序列化成指定的类对象
    这个小事情何以需要记上一笔?实在是因为当用了各种编程语言以后,发现系统I/O处,尤其对外的接口Interface最重要,它或许可以被称为Specification,规约。PHP是混合型编程风格的语言,不强求完全的OOP。但是代码不OOP化的话,又得不到更多的开发工具的支持。尤其在PHP中如果只是用数组结......
  • 关于视图类和序列化类的知识
    1.代码classPayOrderView(GenericViewSet):serializer_class=PaySerializerdefcreate(self,request,*args,**kwargs):ser=self.get_serializer(context={'request':request},data=request.data)ser.is_vaild(raise_exceptio......
  • JAVA 序列化(创建可复用的 Java 对象)
    保存(持久化)对象及其状态到内存或者磁盘Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即,这些对象的生命周期不会比JVM的生命周期更长。但在现实应用中,就可能要求在JVM停止运行之后能够保存(持久化)指定的对象,并在将......
  • 帆软channel反序列化漏洞
    一级测试一级级测试测试二级测试测试三级测试二级测试......
  • 洛谷 P3291 [SCOI2016] 妖怪
    设每只怪物经过环境影响后的攻击力和防守力分别为\(x_i,y_i\),则有:\(y_i=dnf_i-\dfracba(x_i-atk_i)\)。设\(k=-\dfracba\),则有\(y_i=kx_i+dnf_i-k\cdotatk_i\)。设直线\(l_i:y_i=kx_i+dnf_i-k\cdotatk_i\),第\(i\)只怪物在\((a,b)\)的环境下......
  • python jsonpickle模块不序列化私有变量
    jsonpickle模块可以把对象序列化为JSON文件,还是比较方便的.但是并不是所有变量都需要序列化的,比如有些私有变量就不需要序列化,下面是实现方法:importjsonpickleclassNoSerailPrivates:'''表示不序列化私有变量,以_开头都变量'''def__getstate__(self):......
  • PHP数组缓存:三种方式JSON、序列化和var_export的比较
    使用PHP的站点系统,在面对大数据量的时候不得不引入缓存机制。有一种简单有效的办法是将PHP的对象缓存到文件里。下面我来对这3种缓存方法进行说明和比较。第一种方法:JSONJSON缓存变量的方式主要是使用json_encode和json_decode两个php函数。json_encode可以将变量变成文本格式,这......
  • CVE-2022-24481
    一、漏洞信息CVE-2022-24481是发生在CLFS驱动中的一个类型混淆漏洞,通过精巧的对blf文件的部分数据进行构造,可使LogBlockHeader中的ClientContextOffset指向ContainContext,从而造成类型混淆。二、测试环境及漏洞复现测试环境POC:4c1579c6a14bb8f3985be8a1a83c731c靶机:win10......
  • P3352 [ZJOI2016] 线段树 思考--zhengjun
    有一个显然的\(O(n^3q)\)的做法:设\(f_{i,l,r,x}\)表示\(i\)次操作过后,区间\([l,r]\)的数\(\lex\),\(a_{l-1},a_{r+1}>x\)的方案数。转移:$$f_{i,l,r,x}=f_{i-1,l,r,x}\timesg_{l,r}+\sum\limits_{j<l}f_{i-1,j,r,x}\times(j-1)+\sum\limits_{j>r}f_{i-1,l......