编程语言
首页 > 编程语言> > java – XStream的安全框架未初始化,XStream可能容易受到攻击

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

作者:互联网

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

使用XStream(1.4.10)时,我一直将此控制台错误显示为红色

我尝试了以下方法:

XStream.setupDefaultSecurity(XS);

xs.addPermission(AnyTypePermission.ANY);
xs.addPermission(NoTypePermission.NONE);

没有一个摆脱它.

我不需要任何花哨的安全设置,我只想沉默那个警告.也许还准备1.5.x的代码

解决方法:

在处理安全问题时,我不会掉以轻心.首先,人们会理解问题的严重性,这里是good write up.

然后了解人们如何推荐解决方案.开始的好地方是xstream网站本身.有一个例子可以作为xstream security page的起点.

这将是我的设置,基本上允许您的大部分代码.

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,java
来源: https://codeday.me/bug/20191006/1858997.html