欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

风行未来oracle,oracle 7月份更新CVE-2020-14645 复现&利用

发布时间:2025/6/15 编程问答 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 风行未来oracle,oracle 7月份更新CVE-2020-14645 复现&利用 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

简介

该漏洞针对gadget cve-2020-2555 绕过利用。

分析

com.tangosol.util.extractor.UniversalExtractor代码如下

public UniversalExtractor() {

this.m_sNameCanon = null;

}

public UniversalExtractor(String sName) {

this(sName, (Object[])null, 0);

}

public UniversalExtractor(String sName, Object[] aoParam) {

this(sName, aoParam, 0);

}

@JsonbCreator

public UniversalExtractor(@JsonbProperty("name") String sName, @JsonbProperty("params") Object[] aoParam, @JsonbProperty("target") int nTarget) {

this.m_sNameCanon = null;

azzert(sName != null);

if (aoParam != null && aoParam.length > 0 && !sName.endsWith("()")) {

throw new IllegalArgumentException("UniversalExtractor constructor: parameter sName[value:" + sName + "] must end with method suffix \"" + "()" + "\" when optional parameters provided");

} else {

this.m_sName = sName;

this.m_aoParam = aoParam;

this.m_nTarget = nTarget;

this.init();

}

}

public E extract(T oTarget) {

if (oTarget == null) {

return null;

} else {

TargetReflectionDescriptor targetPrev = this.m_cacheTarget;

try {

if (targetPrev != null && oTarget.getClass() == targetPrev.getTargetClass()) {

return targetPrev.isMap() ? ((Map)oTarget).get(this.getCanonicalName()) : targetPrev.getMethod().invoke(oTarget, this.m_aoParam);

} else {

return this.extractComplex(oTarget);

}

} catch (NullPointerException var4) {

throw new RuntimeException(this.suggestExtractFailureCause(oTarget.getClass()));

} catch (Exception var5) {

throw ensureRuntimeException(var5, oTarget.getClass().getName() + this + '(' + oTarget + ')');

}

}

}

从代码可以看出,与cve-2020-2555 类似

利用

只需要修改cve 2020-2555 gadget的最后一环为该类即可

后期有时间的话,可能会放出针对这次weblogic更新的利用工具

总结

以上是生活随笔为你收集整理的风行未来oracle,oracle 7月份更新CVE-2020-14645 复现&利用的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。