JBoss “Java 反序列化”过程远程命令执行漏洞,漏洞检测说明参考,JBoss “Java 反序列化”过程远程命令执行漏洞 漏洞概要, 国外 FoxGlove 安全研究团队于2015年11月06日在其博客上公开了一篇关于常见 Java 应用如何利用反序列化操作进行远程命令执行的文章。文中提到了今年1月 AppSec2015 上一个关于各语言序列化操作利用议题《Marshalling Pickles》,其中介绍了 Ruby、Python、PHP 和 Java 中反序列化操作的危害,详细说明了 Java 中如何使用 Apache Commons Collections 这个常用库来构造 POP 链(类ROP链)来进行任意命令执行,并且提供了相应的 Payload 生成工具 – ysoserial。 原博文所提到的 WebSphere,WebLogic,JBoss,Jenkins 和 OpenNMS 等 Java 应用都使用了 Apache Commons Collections 这个库,并且都存在一个序列化对象数据交互接口能够被访问到。针对每个应用,博文都提供了相应的分析和验证代码来说明 Java 应用存在远程命令执行的普遍性。 漏洞原理, 反序列化是指特定语言中将传递的对象序列化数据重新恢复为实例对象的过程,而在这个过程中会执行一系列的字节流解析和对象实例化操作用于恢复之前序列化时的对象。在原博文所提到的那些 Java 应用里都有特定的接口用于传递序列化对象数据,而在反序列化时并没有限制实例化对象的类型,导致可以任意构造应用中已经包含的对象利用反序列化操作进行实例化。 Java 在进行反序列化操作的时候会使用 ObjectInputStream 类调用 readObject() 方法去读取传递过来的序列化对象字节流进行处理,要想利用反序列化过程进行攻击,就必须构造出一个能够自动执行的代码调用链。而议题《Marshalling Pickles》中巧好就使用 Apache Commons Collections 库构造出了一个能够在反序列化操作时能够自动执行命令的调用链。
JBoss “Java 反序列化”过程远程命令执行漏洞,漏洞检测说明参考,JBoss “Java 反序列化”过程远程命令执…
隐藏内容,支付积分阅读
已有90人购买此隐藏内容
隐藏内容,支付费用阅读
¥
已有86人购买此隐藏内容
隐藏内容,仅限以下用户组阅读
隐藏内容,登录后阅读
登录之后方可阅读隐藏内容
隐藏内容,评论后阅读
请在下面参与讨论之后,方可阅读隐藏内容
隐藏内容,加入圈子后阅读
您需要加入圈子之后才能查看帖子内容
您猜对了答案,下面是向您展示的隐藏信息:
[]
[¥]
向
提问:
隐藏内容,猜对答案后阅读
猜错啦:您选中的是「」,正确答案是:「」
多选人参与投票
单选人参与投票
PK人参与PK
·已选
已选·
投票后查看结果,您的选择是?
思想因碰撞产生火花,真理因辩论获得升华
热门评论
:
请先登录!
图片审查中...
登录之后回答问题,请先登录!
编辑答案:
我的回答:
最多上传一张图片和一个附件
x
x