2009-11-17 85 views
3

XPS文档有多安全?在从XPS文档的内部查看后,找到了Unicode字符串属性。有人可以注入e.x.一个脚本放入Unicode字符串属性中?XPS文档有多安全?

XPS查看器如何处理Unicode字符串属性?作为字形的集合还是什么?

更新:我添加了以下字符串作为UnicodeText

[email protected]#$%^&*()_+ 

和XPS查看器拒绝打开该文件。这就是这个问题如何进入我的脑海

回答

16

XPS文件,而不是(咳嗽)some other format不能包含脚本或活动内容。它们仅用于用作高保真预打印格式。话虽如此,XPS解析器并不完全不可能包含安全漏洞。他们可以被利用。尽管如此,迄今为止我还没有听说过这样的攻击。

但回到你的观点。如果有人想在XPS文档中将脚本放入字符串中,他肯定可以这样做。他不应该指望它被执行。如果某些软件实际上确实是,那么这可能是软件的安全问题,而不是文件格式。

仅仅因为你可以把恶意软件到一个文本文件(记得iloveyou.vbs?),这并不意味着该文本文件本身具有:-)

ETA安全漏洞:的的UnicodeString问题属性帮助搜索XPS文件内部:

UnicodeString属性包含由当前元素表示的Unicode标量值的数组。指定一个Unicode字符串是RECOMMENDED,因为它支持搜索,选择和可访问性。

虽然字符串本身预期会采用某种格式(在第115页的标准中也有详细说明),但观众不想接受您的输入的原因是它甚至不是很好 - 由于&符号(&)显示为未转义,因此形成了XML。如果按照XML的要求将&符号编码为&,我认为它会起作用。该规范还指出,

标准XML转义机制用于指定XML保留字符。

但即使这样,UnicodeString属性和文档的其他部分之间的关​​系也相当复杂。他们写了超过半页,哪些组合是有效的,哪些不是。因此,我建议你先阅读,然后再尝试进一步游戏:-)

+0

+1好的答案放在一起。 – AnthonyWJones 2009-11-17 08:59:59

+0

+1这是现货! – nixps 2009-11-17 09:40:16

+0

六星级选项在哪里? +10从我 – OrElse 2009-11-17 10:30:48

1

p.95的XPS 1.0规范:“标准的XML转义机制用于指定XML保留字符。”

'&'可能会导致麻烦。