JAVA反序列化漏洞解决办法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA反序列化漏洞解决办法相关的知识,希望对你有一定的参考价值。

一、漏洞描述:

近期,反序列化任意代码执行漏洞持续发酵,越来越多的系统被爆出存在此漏洞。Apache Commons工具集广泛应用于JAVA技术平台,存在Apache Commons Components InvokerTransformer反序列化任意代码执行漏洞, WebLogic、IBM WebSphere、JBoss、Jenkins和OpenNMS等应用都大量调用了Commons工具集,通过远程代码执行可对上述应用发起远程攻击。

二、漏洞解决办法:

1 使用 SerialKiller 替换进行序列化操作的 ObjectInputStream 类;
2 在不影响业务的情况下,临时删除掉项目里的“org/apache/commons/collections/functors/InvokerTransformer.class” 文件;
在服务器上找org/apache/commons/collections/functors/InvokerTransformer.class类的jar,目前weblogic10以后都在Oracle/Middleware/modules下com.bea.core.apache.commons.collections_3.2.0.jar,创建临时目录tt,解压之后删除InvokerTransformer.class类后再打成com.bea.core.apache.commons.collections_3.2.0.jar覆盖Oracle/Middleware/modules下,重启所有服务。如下步骤是linux详细操作方法:
A)mkdir tt
B)cp -r Oracle/Middleware/modules/com.bea.core.apache.commons.collections_3.2.0.jar ./tt
C)jar xf Oracle/Middleware/modules/com.bea.core.apache.commons.collections_3.2.0.jar
D)cd org/apache/commons/collections/functors
E)rm -rf InvokerTransformer.class
F)jar cf com.bea.core.apache.commons.collections_3.2.0.jar org/* META-INF/*
G)mv com.bea.core.apache.commons.collections_3.2.0.jar Oracle/Middleware/modules/
H)重启服务


三、漏洞解决办法:
1、假如不是处理weblogic自带的com.bea.core.apache.commons.collections_3.2.0.jar,而是修改应用代码collections_*.jar,一定在发版本不能覆盖。应用覆盖、备份恢复的时候和发版本的时候也请切记不要覆盖掉修改后的JAR文件。
2、重启服务时候要删除server-name下的cache和tmp
例如rm -rf ~/user_projects/domains/base_domain/servers/AdminServer/cache
rm -rf  ~/user_projects/domains/base_domain/servers/AdminServer/tmp

以上是关于JAVA反序列化漏洞解决办法的主要内容,如果未能解决你的问题,请参考以下文章

漏洞通告Jackson框架反序列化漏洞通告

浅谈Java反序列化漏洞修复方案

Java反序列化漏洞——反射与反序列化基础

JAVA漏洞重现:XMLDecoder反序列化漏洞

Java反序列化漏洞通用利用分析

Java反序列化安全漏洞怎么回事