修复weblogic的JAVA反序列化漏洞的多种方法--预防GetShell攻击
0x00 前言 目前oracle还没有在公开途径发布weblogic的JAVA反序列化漏洞的官方补丁,目前看到的修复方法无非两条: 使用SerialKiller替换进行序列化操作的ObjectInputStream类; 在不影响业务的情况下,临时删除掉项目里的 “org/apache/commons/collections/functors/InvokerTransformer.class”文件。 ObjectInputStream类为JRE的原生类,InvokerTransformer.class为weblogic基础包中的类,对上述两个类进行修改或删除,实在无法保证对业务没有影响。如果使用上述的修复方式,需要大量的测试工作。且仅仅删除InvokerTransformer.class文件,无法保证以后不会发现其他的类存在反序列化漏洞。 因此本文针对weblogic的JAVA序列化漏洞进行了分析,对多个版本的weblogic进行了测试,并提出了更加切实可行的修复方法。 0x01 为什么选择weblogic的JAVA反序列化漏洞进行分析 weblogic与websphere为金融行业使用较多的企业级JAVA中间件; weblogic比websphere市场占有率高; 利用websphere的JAVA反序列化漏洞时需要访问8880端口,该端口为websphere的wsadmin服务端口