【问题标题】:Java Serializable - Does serializing/deserializing have security?Java Serializable - 序列化/反序列化是否具有安全性?
【发布时间】:2014-09-22 05:22:30
【问题描述】:

我有一个基于 Serializable 类的问题。

遗憾的是,在 Google 上搜索后,我找不到任何满足我的问题的答案。

这是我正在做的事情:

通过 UDP (DatagramPacket) 向服务器发送序列化对象。

Packet 类是所有 Packet 都应继承的抽象类。 数据包是可序列化的,它有一个生成的 UUID 作为静态变量。 客户端和服务器都有这个生成的 UUID。

服务器对对象进行反序列化,检查它是否继承了 Packet,然后评估它需要正确转换为哪个 Packet 类(服务器端)。

我想知道序列化和强制转换对象在某种程度上是否安全;话虽如此:

如果有人修改了客户端数据包类并添加了新的方法和字段等,那么将该对象转换为服务器端对象是否仍然有效?

希望这可以很好地解决。

【问题讨论】:

  • 此链接可能对您有所帮助:youtube.com/watch?v=V1vQf4qyMXg#t=3366
  • 我不明白你认为修改类以添加方法和字段与安全性有什么关系。
  • ....你读过我的帖子吗?我正在将一个序列化的对象从客户端发送到代表游戏数据包的服务器。有人在客户端修改了对象并尝试发送它。我在问 Serializable 如何与这个一般领域相关,因此我说安全性。我认为你对这个话题一无所知。
  • 你读过我的帖子吗? ...我认为您根本不了解此主题。 Sparta,我相当肯定 EJP 对序列化的了解比您多一个数量级。或者可能有几个。在我阅读您的评论之前,我会给您怀疑的好处。你的问题很困惑,肯定会从澄清中受益。祝你以这样的态度得到答案。
  • 已经得到答复。如果你不能理解这么简单的问题,我不知道你能理解什么。 Parth Satra,一个相当新的成员,理解得很好,可以回答。我不喜欢降级 cmets。

标签: java serialization


【解决方案1】:

是的,可序列化对象会暴露私有变量,因此存在安全隐患。 参考:Serializable Interface

关于添加新的字段和方法,有些东西是兼容的,有些东西是不兼容的。请查看此帖子以获取更多详细信息。 Java Serialization

更多详情请查看:IBM Dev Works : Java Things

我希望这就是您想要的。

【讨论】:

    猜你喜欢
    • 2017-04-03
    • 1970-01-01
    • 1970-01-01
    • 2012-12-08
    • 2021-08-04
    • 2021-08-14
    • 2012-03-25
    • 1970-01-01
    • 2011-04-06
    相关资源
    最近更新 更多