weblogic Java反序列化漏洞测试和解决

一、打补丁从weblogic10.3.6打补丁到10.3.6.0.12 

系统是windows 2008 server 64位 

查看服务器的weblogic版本信息:cmd下执行 java weblogic.version 显示信息如下:

        WebLogic Server 10.3.6.0  Tue Nov 15 08:52:36 PST 2011 1441050
        Use 'weblogic.version -verbose' to get subsystem information
        Use 'weblogic.utils.Versions' to get version information for all modules

如果不好使,提示什么也找不到。 

执行C:\Oracle\Middleware\wlserver_10.3\server\bin>setWLSenv.cmd

将补丁数据文件p20780171_1036_Generic (2).zip和p22248372_1036012_Generic.zip解压并拷贝到weblogic 目录下 utils/bsu/cache_dir 中,如果没有cache_dir 自己创建。

(两个zip到这里下载 我的百度云 链接:http://pan.baidu.com/s/1bp25dPP 密码:hqi0)

1.首先执行

C:\Oracle\Middleware\utils\bsu>java -jar C:\Oracle\Middleware\utils\bsu\patch-client.jar -install -patch_download_dir=C:\Oracle\Middleware\utils\bsu\cache_dir -patchlist=EJUW -prod_dir=C:\Oracle\Middleware\wlserver_10.3
提示信息如下:

检查冲突...
未检测到冲突

正在安装补丁程序 ID: EJUW ..
结果: 成功
2.再次执行
C:\Oracle\Middleware\utils\bsu>java -jar C:\Oracle\Middleware\utils\bsu\patch-client.jar -install -patch_download_dir=C:\Oracle\Middleware\utils\bsu\cache_dir -patchlist=ZLNA -prod_dir=C:\Oracle\Middleware\wlserver_10.3
提示信息如下:

检查冲突...
未检测到冲突

正在安装补丁程序 ID: ZLNA..
结果: 成功

3.查看更新结果 
C:\Oracle\Middleware\wlserver_10.3\server\bin>java weblogic.version

如果不行,就设定一下环境 
C:\Oracle\Middleware\wlserver_10.3\server\bin>setWLSEnv.cmd

显示结果如下:

WebLogic Server Temporary Patch for BUG22248372 Tue Nov 24 00:35:04 MST 2015
WebLogic Server 10.3.6.0.12 PSU Patch for BUG20780171 THU JUN 18 15:54:42 IST 20
15
WebLogic Server 10.3.6.0  Tue Nov 15 08:52:36 PST 2011 1441050

Use 'weblogic.version -verbose' to get subsystem information

Use 'weblogic.utils.Versions' to get version information for all modules

以上是成功更新补丁成功。

二、测试工具和解决办法(以下是转载和整合)

①、测试

Java -jar CommonsCollectionsTools.jar weblogic 192.168.0.11 7001 F:/a.txt

执行该操作后,如果该IP上的电脑生成a.txt文件,证明漏洞存在(此命令为window下操作,linux下修改文件路径,暂未测试)。

 前提: 
需要JRE 1.7或以上版本运行。下面的命令是在安装JRE 1.7的机器上运行。 

测试jar下载地址:http://download.csdn.net/detail/gongzi2311/9434503

②、解决

1、  替换java包解决应用层面问题。方法是使用官方提供的4.4.1 版本commons-collections4-4.1.jar包替换应用lib目录下的commons-collections.jar,再重启应用。

2、解决中间件层面问题。

方法一:升级weblogic补丁包,升级weblogic 10.3.6.12的补丁包p22248372_1036012_Generic.zip,直接安装补丁即可,但不支持10.3.6.12之前的版本,如果是老版本,先升级到 10.3.6.12再打补丁,或要用方法二。  

方法二:删除特定文件。 找到..\weblogic\Middleware\modules\com.bea.core.apache.commons.collections_3.2.0.jar 并打开,jar 包 内 org/apache/commons/collections/functors/InvokerTransformer.class文件,不要直接解压缩后打开再重新包,这样会有问题。要直接用压缩工具软件打开后直接删除。特别注意如果集群环境,要全部停掉再执行此操作才有效,否则会被缓存的文件覆盖回原始包。


你可能感兴趣的:(我经历过的程序错误)