gpt4 book ai didi

java - 完全禁用 Java 反序列化

转载 作者:行者123 更新时间:2023-12-02 02:03:59 28 4
gpt4 key购买 nike

有没有办法完全禁用java反序列化?

java.io.ObjectInputStream 中的 Java 反序列化可能会通过反序列化所谓的序列化小工具使应用程序面临安全问题。

我没有故意使用java序列化,但是很难确保任何受外部输入信任的库都不会执行反序列化。出于这个原因,我希望有某种终止开关来完全禁用序列化。

这与缓存问题不同 - 我想确保我的应用程序中没有对象被反序列化,包括通过库。

最佳答案

防止反序列化的一个简单方法是定义一个积极的反序列化过滤器(通过 JEP 290 在 Java 9 中引入)。

例如,对于java -Djdk.serialFilter=maxbytes=0 MyApp,任何反序列化尝试(字节流大小> 0字节)都会抛出java.io.InvalidClassException:过滤器状态:拒绝异常。

或者您可以使用 maxrefs=0,或者简单地使用通配符排除所有类,即 java -Djdk.serialFilter=!* MyAppjava - Unix 上的 Djdk.serialFilter='!*' MyApp 其中“!”需要转义。

关于java - 完全禁用 Java 反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51099078/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com