2

我在一家小型软件公司工作,我们使用本地安装的代理,该代理在 OSGI env 上运行,以收集有关服务器的数据并使用 ws hhtp 请求将它们发送到主服务器。通常我们使用sbe 协议对消息进行编码/解码,但它不适用于大于 50M 的消息(主服务器卡在 sbe 解码上),因此对于这种特殊情况,我发送了 Java 序列化对象,该对象将在服务器端进行反序列化。一个大客户在安装之前对我们的应用程序进行了大规模测试,它检测到以下内容:

/resource/save-data-upload-big-file 容易受到不安全的 java 反序列化的影响。

我们成功利用此漏洞在服务器上执行。 在此处输入图像描述

我不清楚他们是如何做到这一点的(远程代码执行),但他们建议使用另一种方法将收集到的数据传输到服务器。

我在考虑SealedObject ... RCE安全吗?提前致谢

4

1 回答 1

0

他们是对的——(java)反序列化问题是目前行业的一大痛点。它甚至在OWASP Top 10中被提及。它不仅与 Java 相关。编程语言往往具有某种钩子机制( JavareadObjectwriteObject的 ,​​ ),可能会被误用于通过应用程序中存在的小工具和库调用某些内部函数。

缓解是相当棘手的,可能会迫使你去你不想去的方向。最简单的解决方案可能是删除易受攻击的端点并将其替换为不需要反序列化 java 类的东西。

于 2021-09-23T13:42:58.970 回答