Weblogic

2019年4月17日,国家信息安全漏洞共享平台(CNVD)收录了由中国民生银行股份有限公司报送的Oracle WebLogic wls9-async反序列化远程命令执行漏洞(CNVD-2019-11873)。攻击者利用该漏洞,可在未授权的情况下远程执行命令。
不安全的反序列化漏洞已成为针对Java Web应用程序的研究者的普遍目标。这些漏洞通常会导致RCE,并且通常不容易完全修补。CVE-2020-14825就属于这一类。
Weblogic 的反序列化RCE漏洞 CVE-2020-14645,是对 CVE-2020-2883的补丁进行绕过。
这个漏洞看起来有些复杂,但其实原理较为直接,与之类似的漏洞也有一些。个人感觉,XML的漏洞和WebLogic的反序列化漏洞都有着思路上的共同点:先找到一个可以触发RCE的点,然后不停的尝试,从我们的输入点能否达到它。实现这个思路的具体方法会有差异,这就是这其中每个漏洞的特点了。
​ JNDI是Java Naming and Directory Interface(JAVA命名和目录接口)的英文简写,它是为JAVA应用程序提供命名和目录访问服务的API(Application Programing Interface,应用程序编程接口)。
因为之前粗略学习过CVE-2020-14645,感觉CVE-2020-2883可谓是“政启开元,治宏贞观”,其利用链的一部分继承了CVE-2020-2555中ReflectionExtractor的利用链,另一部分找到了PriorityQueue可达的、新的extract()的调用点,为CVE-2020-14645做了准备。
不安全的反序列化漏洞已成为针对Java Web应用程序的研究者的普遍目标。这些漏洞通常会导致RCE,并且通常不容易彻完全修补。CVE-2020-2555就属于这一类。
前面我们提到, CVE-2015-4852往后有一系列漏洞都是立足于对其补丁的绕过的,CVE-2017-3248也是其中之一。
通过这两个漏洞我们可以看到,黑名单防护是不那么靠谱的,尤其是像weblogic这样的复杂的一个程序,既有不在少数的引入库,又有比较复杂的自身结构。如果说CVE-2015-4852是有Commons Collections引发的,这2016的这两个主要是由Weblogic自身的问题引发的,只是之前没有被发现或提出而已。
WebLogic是美国Oracle公司的Java应用服务器,确切说是一个中间件,被用于WEB应用、数据库应用等的集成开发部署。