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