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

问题描述

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

然后找出人们如何推荐该解决方案。最好的起点是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,您只需要一行。

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

解决方法

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的代码

解锁查看全部内容

付费后查看完整内容
限时 微信扫码支付 ¥9.9 19.9

编程问答相关问答

基本上我有两个张量,我试图将两个张量相乘(一个只是大小 [batch](即每个批次具有单个值的张量),
在 Spyder 中,我们可以使用 <code>ctrl + [</code> 表示左缩进,使用 <code>ctrl + ]</code> 表示右缩进,Pycharm 的替
我将通过使用存储过程查询一次生产数据库来开发报告数据库。 然后存储过程会将结果写入它自己
在“https://geth.ethereum.org/downloads/”设置 geth。 geth 是通过参考“https://www.rinkeby.io/#geth”的完整节点部分
我有以下相邻表格,我想将其转换为长格式。 <pre><code>ID &lt;- c(rep(&#39;A&#39;,1), rep(&#39;B&#39;,3)) From &lt;-
在 yarn 添加 @zeit/next-css 后,我不断收到未找到模块的错误。错误是: <pre><code>error - ./node_modules/@ant-de
例如,我想要以下类型: <pre><code>declare module &#34;*.scss&#34; { export const col1: string export const col2: s
我是 SQL 新手,我正在尝试从视图中选择最大值。数据库是电影和演员,嵌套查询部分有效。我试图找到
微信公众号搜索 “ 程序精选 ” ,选择关注!
微信公众号搜 "程序精选"关注