"Java 反序列化"过程远程命令执行漏洞

一、漏洞描述

 
国外 FoxGlove 安全研究团队于2015年11月06日在其博客上公开了一篇关于常见 Java 应用如何利用反序列化操作进行远程命令执行的文章。原博文所提到的 Java 应用都使用了 Apache Commons Collections 这个库,并且都存在一个序列化对象数据交互接口能够被访问到。针对每个应用,博文都提供了相应的分析和验证代码来说明 Java 应用存在远程命令执行的普遍性。
 
 
二、漏洞危害
 
机器上一旦有使用上述应用,即处于“裸奔”状态,黑客可随时利用此漏洞执行任意系统命令,完全控制机器,破坏或窃取机器上的数据。
 
三、已确认被成功利用的软件及系统  
 
使用了 Apache Commons Collections 这个库的应用理论上都受到漏洞影响。目前已被证实受影响的应用:
 
  • WebSphere
  • WebLogic
  • JBoss
  • Jenkins
  • OpenNMS
 
四、建议修复方案
 
官方尚未为此漏洞发布补丁,所以无法通过应用升级等方法修复漏洞。
 
临时解决方案:
 
1、使用 SerialKiller 替换进行序列化操作的 ObjectInputStream 类。
 
2、在不影响业务的情况下,临时删除掉项目里的 "org/apache/commons/collections/functors/InvokerTransformer.class" 文件。
 
3、把受漏洞影响的应用访问路径进行隐藏,如改成随机生成的字符串。
原文地址:https://www.cnblogs.com/milantgh/p/4981483.html