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.5xstream.allowTypesByWildcard(new String[] {
"com.your.package.**"
});
因此,从本质上讲,一旦升级到1.5,您只需要一行。
请注意,您可能需要更多通配符以适合您的应用程序反序列化方案。这不是一个万能的答案,而是一个很好的起点恕我直言。
以上是 XStream的安全框架未初始化,XStream可能容易受到攻击 的全部内容, 来源链接: utcz.com/qa/434116.html