XStream的安全框架未初始化,XStream可能容易受到攻击

Security framework of XStream not initialized, XStream is probably

vulnerable

使用XStream(1.4.10)时,我始终收到红色的控制台错误

我尝试了以下方法:

XStream.setupDefaultSecurity(xs);

xs.addPermission(AnyTypePermission.ANY);

xs.addPermission(NoTypePermission.NONE);

没有一个能摆脱它。

我不需要任何高级的安全设置,我只是想使该警告静音。也许还准备1.5.x的代码

回答:

在处理安全问题时,我不会掉以轻心。首先,一个人要了解问题的严重性,这里写得很好,或者另一本书。

然后找出人们如何推荐该解决方案。最好的起点是xstream网站本身。您可以在xstream安全页面上以一个示例作为起点。

这将是我的设置,基本上允许您执行大多数代码。

XStream xstream = new XStream();

// clear out existing permissions and set own ones

xstream.addPermission(NoTypePermission.NONE);

// allow some basics

xstream.addPermission(NullPermission.NULL);

xstream.addPermission(PrimitiveTypePermission.PRIMITIVES);

xstream.allowTypeHierarchy(Collection.class);

// allow any type from the same package

xstream.allowTypesByWildcard(new String[] {

"com.your.package.**"

});

但是,在深入研究其源代码之后,这是我的看法:

XStream.setupDefaultSecurity(this); // to be removed after 1.5

xstream.allowTypesByWildcard(new String[] {

"com.your.package.**"

});

因此,从本质上讲,一旦升级到1.5,您只需要一行。

请注意,您可能需要更多通配符以适合您的应用程序反序列化方案。这不是一个万能的答案,而是一个很好的起点恕我直言。

以上是 XStream的安全框架未初始化,XStream可能容易受到攻击 的全部内容, 来源链接: utcz.com/qa/434116.html

回到顶部