Java Jackson json到对象反序列化。如何处理OWASP不安全的反序列化?

Java Jackson json到对象反序列化。如何处理OWASP不安全的反序列化?,java,security,jackson,owasp,websecurity,Java,Security,Jackson,Owasp,Websecurity,OWASP威胁是众所周知的。 我的问题是,当我们在java部分使用类似Jackson等的解析器库时,如何减轻这种威胁 使用Hibernate验证或Java验证是否解决了这个问题?或者是否存在任何特殊的或更好的技术来缓解这个问题?首先,整个反序列化是关于Java对象的反序列化。这与XML解组或读取JSON无关。还有其他漏洞类别可以处理这些问题 假设您的代码接受一个Java类作为输入(可以通过REST端点进行Bas64编码和提供)。为什么会有人这么做?如果您想远程存储状态,那么可以序列化Java类,

OWASP威胁是众所周知的。 我的问题是,当我们在java部分使用类似Jackson等的解析器库时,如何减轻这种威胁


使用Hibernate验证或Java验证是否解决了这个问题?或者是否存在任何特殊的或更好的技术来缓解这个问题?

首先,整个反序列化是关于Java对象的反序列化。这与XML解组或读取JSON无关。还有其他漏洞类别可以处理这些问题

假设您的代码接受一个Java类作为输入(可以通过REST端点进行Bas64编码和提供)。为什么会有人这么做?如果您想远程存储状态,那么可以序列化Java类,在需要时发送并接收它。没有意义?嗯

真正的问题不是反序列化,而是在反序列化过程中防止代码执行。如何防止调用
readObject()
?它将被自动调用。防止Java代码深处发生的事情是一件痛苦的事情

您可以尝试使用或,但这不会使代码更简单、更易于阅读。真正起作用的一件事是不在代码中的任何地方使用不受信任对象的反序列化。

看一看