Weblogic CVE-2021-2394漏洞复现分析原创

Weblogic CVE-2021-2394漏洞复现分析原创

原创 huang7k 路旅安全 2024-04-01 20:28

01 影响范围

Oracle WebLogic Server :
12.2.1.3.0、12.2.1.4.0、14.1.1.0.0

02 漏洞复现

POC:

本地序列化与反序列化,dnslog收到请求

03 利用链分析

利用链:

sink:
org.eclipse.persistence.internal.descriptors.MethodAttributeAccessor#getAttributeValueFromObject方法中存在反射调用,最好情况下getMethod、anObject、parameters均可控就可以造成调用任意对象的任意方法

如果打了补丁的情况下,MethodAttributeAccessor已经被拉入黑名单,但是如果在其他类的反序列化过程中存在MethodAttributeAccessor的创建并调用的话则还是可以绕过的
然后发现oracle.eclipselink.coherence.integrated.internal.cache.SerializationHelper#readAttributeAccessor中符合,会创建MethodAttributeAccessor对象并返回接着找利用链,oracle.eclipselink.coherence.integrated.internal.querying.FilterExtractor#extract中存在attributeAccessor.getAttributeValueFromObject调用

并且他的attributeAccessor的值正是绕过黑名单调用的方法,可以创建MethodAttributeAccessor对象

其他的都是按照调用方法直接找调用关系即可,注意子父类之间的调用关系。

source:

由于TopNAggregator$PartialResult只实现了ExternalizableLite,因此还是需要实现了Externalizable的AttributeHolder去封装PartialResult从而正常地触发反序列化

04 调用栈