Java API 中的魔法.pdf

编号:140476 PDF 38页 10.61MB 下载积分:VIP专享
下载报告请您先登录!

Java API 中的魔法.pdf

1、Magic In Java APISpeaker:yemoli、R1ckyZyemoli、永信至诚伽玛实验室高级研究员R1ckyZ、中国科学院大学wha1eriR1ckyZyemoliSecR1ckyZ-WEByml-sec.topr1ckyz.github.ioAbout UsAgenda01API简介04减缓措施02安全影响03RASP攻防TricksAPI简介JDK中 PrintServiceLookup接口用于提供打印服务的注册查找功能,在linux的JDK中它的实现类叫做UnixPrintServiceLookup 或 PrintServiceLookupProvider(高版本 j

2、dk中)API简介execCmd的参数来自于类的属性,在某些特定情况下如果被篡改掉可能存在着一些安全风险安全影响安全影响01FieldBased mechanism02Pojo Class Recovery03Member of gadget chainHow FieldBased mechanism work in deserialisation在某些时候实例化类时调用无参数构造方法还原 Map 类型时,会调用 hashcode 等方法允许反序列化未实现 Serializable 接口的类使用反射来恢复对象的属性Existing ideasUtilisation under FieldBas

3、ed mechanismSerialize TypeAffectjava native serializeNOHessianYES(version=3.x)Hessian LiteYES(version=3.2.12)SOFA-HessianYES(version4.0.0)KryoYESFastJsonYES(FieldBased)JacksonYES(FieldBased)XStreamNOFSTNOHessianHessian是一种轻量级的二进制序列化协议,3.x版本中其反序列化的大致流程如下Hessian可以反序列化不实现Serializeable的类使用默认反序列化器JavaDese

4、rializer实例化类时会调用构造方法优先使用无参数构造方法,没有无参数构造方法时会选择有参数的构造方法,但只能还原基本类型参数,其他类型的参数会自动设置为null通过反射来恢复属性总结来讲,在进行反序列化时有如下的关键行为perfect with UnixPrintServiceLookupWhy not hessian 4.x?Why not hessian 4.x?Hessian Litehessian-lite是Apache Dubbo的一个模块,它是基于官方hessian的一个修改版本,在安全性上来说,相比于原始的hessian,hessian-lite中维护了一个黑名单,用于防御

5、已知的反序列化攻击;在3.2.12以及之前的版本中,可以反序列化没有继承Serializable的类,同时在黑名单中也不存在对sun.print的包的过滤,且默认的反序列化器为JavaDeserializer,因此可以完全符合我们对UnixPrintServiceLookup的利用要求Lead to CVE-2022-39198dubbo通信时默认使用hessian-lite进行反序列化,流程如下Lead to CVE-2022-39198根据上述流程可以发现完全符合UnixPrintServiceLookup的利用条件;对于此官方修复方案是在黑名单中限制了包名,同时不允许实例化未继承Seri

6、alizable的类SOFA-HessianSOFA-Hessian也是一个基于原生 Hessian 的改进版本,同样的,在3.x版本中,其默认的反序列化器为 JavaDeserializer,且 sun.print 包并不在其 serialize.blacklist 黑名单中,所以在3.x版本中对于 SOFA-Hessian 也可以直接利用 UnixPrintServiceLookup而在4.x的版本中,其反序列化器选择上同Hessian一样做出了改动,因此无法使用Safety Case某开源rpc框架依赖了SOFA-Hessian 3.x,Server端解析客户端传入数据的流程如下在进行通

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(Java API 中的魔法.pdf)为本站 (2200) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
客服
商务合作
小程序
服务号
折叠