shiro550反序列化分析】的更多相关文章

拖了很久的shiro分析 漏洞概述 Apache Shiro <= 1.2.4 版本中,加密的用户信息序列化后存储在Cookie的rememberMe字段中,攻击者可以使用Shiro的AES加密算法的默认密钥来构造恶意的Cookie rememberMe值,发送到Shiro服务端之后会先后进行Base64解码.AES解密.readObject()反序列化,从而触发Java原生反序列化漏洞,进而实现RCE. 该漏洞的根源在于硬编码Key. 漏洞复现 使用shiroattack工具 Dnslog接收…
fastjson及其反序列化分析 源码取自 https://www.github.com/ZH3FENG/PoCs-fastjson1241 参考 (23条消息) Json详解以及fastjson使用教程_srj1095530512的博客-CSDN博客_fastjson parse方法和parseObject方法区别: parse()及parseObject()进行反序列化时的细节区别在于,parse() 会识别并调用目标类的 setter 方法,而 parseObject() 由于要将返回值转…
反序列化分析(二)--CommonCollections1 链子分析 首先新建一个TransformedMap,其中二三参数为可控,后续要用到 当TransformedMap执行put方法时,会分别执行transformKey和transformValue方法 可以看到,两个方法中,都有transform方法,但参数不可控 找能触发InvokerTransform的transform方法,而且是无需借用外部传参的那种 分析cc链的时候,最大的体会就是分析可以,但不明白为什么可以想到这么绝的方法?…
Java安全之SnakeYaml反序列化分析 目录 Java安全之SnakeYaml反序列化分析 写在前面 SnakeYaml简介 SnakeYaml序列化与反序列化 常用方法 序列化 反序列化 SnakeYaml反序列化漏洞 影响版本 漏洞原理 漏洞复现 调试分析 小结 SPI机制 ScriptEngineManager分析 其他利用姿势 C3P0 ScriptEngineManager Reference 写在前面 学习记录 SnakeYaml简介 snakeyaml包主要用来解析yaml格…
此漏洞是基于CVE-2015-4852漏洞进行黑名单的绕过,CVE-2015-4852补丁主要应用在三个位置上 weblogic.rjvm.InboundMsgAbbrev.class :: ServerChannelInputStream weblogic.rjvm.MsgAbbrevInputStream.class weblogic.iiop.Utils.class 所以如果能找到可以在其readObject中创建自己的InputStream的对象,并且不是使用黑名单中的ServerCha…
0x01.环境搭建 下载地址:https://codeload.github.com/apache/shiro/zip/shiro-root-1.2.4 环境:Tomcat 8.5.27 + idea 2020.2 + jdk 1.8 +maven 3.6 下载之后之后直接打开,并open这个web文件夹即可,其他自行百度就行,其中还需要导入一些jstl的jar等等 0x02.漏洞原理 shiro默认使用了CookieRememberMeManager,其处理cookie的流程是: 得到reme…
将反序列化的对象封装进了weblogic.corba.utils.MarshalledObject,然后再对MarshalledObject进行序列化,生成payload字节码.由于MarshalledObject不在WebLogic黑名单里,可正常反序列化,在反序列化时MarshalledObject对象调用readObject时对MarshalledObject封装的序列化对象再次反序列化,可以绕过黑名单的限制 先给出poc,导入weblogic.jar和ysoserial.jar: imp…
Java安全之Shiro 550反序列化漏洞分析 首发自安全客:Java安全之Shiro 550反序列化漏洞分析 0x00 前言 在近些时间基本都能在一些渗透或者是攻防演练中看到Shiro的身影,也是Shiro的该漏洞也是用的比较频繁的漏洞.本文对该Shiro550 反序列化漏洞进行一个分析,了解漏洞产生过程以及利用方式. 0x01 漏洞原理 Shiro 550 反序列化漏洞存在版本:shiro <1.2.4,产生原因是因为shiro接受了Cookie里面rememberMe的值,然后去进行Ba…
之前遇到过很多次php反序列化相关的内容,总结一下. (反)序列化给我们传递对象提供了一种简单的方法.serialize()将一个对象转换成一个字符串,unserialize()将字符串还原为一个对象,在PHP应用中,序列化和反序列化一般用做缓存,比如session缓存,cookie等. 常见的PHP魔术方法: __construct: 在创建对象时候初始化对象,一般用于对变量赋初值. __destruct: 和构造函数相反,当对象所在函数调用完毕后执行. __toString:当对象被当做一个…
shiro550反序列化 获取docker镜像 docker pull medicean/vulapps:s_shiro_1 重启docker systemctl restart docker 启动docker镜像: docker run -d -p 8081:8080 medicean/vulapps:s_shiro_1 访问: http://ip:8081/ 环境搭建成功 检测 shiro721反序列化 环境搭建略 Shiro-721,需输入url,提供一个有效的rememberMe Coo…