专栏名称: 黑伞安全
安全加固 渗透测试 众测 ctf 安全新领域研究
目录
相关文章推荐
今天看啥  ›  专栏  ›  黑伞安全

常态期讨老口子2: 帆软反序列化分析

黑伞安全  · 公众号  ·  · 2024-07-23 20:19
    

主要观点总结

分析FineBI软件中的反序列化漏洞,漏洞存在于/webroot/decision/remote/design/channel接口。

关键观点总结

关键观点1: 漏洞概述

漏洞存在于FineBI的特定接口,通过GZIPInputStream进行解压缩,然后使用CustomObjectInputStream进行反序列化。

关键观点2: 漏洞利用过程

攻击者需要构造序列化数据,通过gzip压缩后发送到漏洞接口。可以利用Hibernate链或Commons Collections(cb链)等技术进行构造。示例代码中提供了利用反射和字节码技术构造恶意的序列化数据的Java代码。

关键观点3: 反序列化绕过

官方修复漏洞的方式是增加反序列化黑名单,但jackson相关的类并未被禁止。攻击者可以利用jackson构造反序列化链。示例代码展示了利用BadAttributeValueExpException和TemplatesImpl等类的特性进行绕过的方式。

关键观点4: 其他绕过方法

由于黑名单中包含了一些类,文章提出了使用其他类如XString、HotSwappableTargetSource和SignedObject等进行绕过的方法。

关键观点5: 总结

文章详细分析了FineBI软件中的反序列化漏洞,并提供了利用该漏洞的示例代码。文章还探讨了如何绕过官方修复的方法和利用其他类进行攻击的方式。


文章预览

这段常态化时期,每天都整理和学习历年能打穿小朋友的漏洞,本文转载自 https://xz.aliyun.com/t/13389 这篇文章是关于FineBI软件中的反序列化漏洞的分析。以下是对文章内容的总结: 漏洞概述 : 漏洞存在于FineBI的 /webroot/decision/remote/design/channel 接口。 该接口接收POST方法传输的数据,首先通过 GZIPInputStream 进行解压缩,然后使用 CustomObjectInputStream 包装并调用 readObject() 方法实现反序列化。 漏洞利用过程 : 攻击者需要构造序列化数据,并通过gzip压缩后发送到漏洞接口。 构造序列化数据可以利用Hibernate链或Commons Collections(cb链)等技术。 示例代码 : 文章提供了构造Hibernate链的Java代码示例,展示了如何利用反射和字节码技术构造恶意的序列化数据。 反序列化绕过 : 官方修复漏洞的方式是增加反序列化黑名单,禁止了一些类的反序列化,包括cb、hiberna ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览