XPS 文档的安全性如何?从XPS文档内部查看后,找到了 Unicode-string 属性。有人可以将脚本注入 Unicode 字符串属性吗?
XPS 查看器如何处理 Unicode 字符串属性?作为字形的集合还是什么?
更新:我将以下字符串添加为 UnicodeText
!@#$%^&*()_+
XPS 查看器拒绝打开文件。这就是我想到这个问题的方式
XPS 文档的安全性如何?从XPS文档内部查看后,找到了 Unicode-string 属性。有人可以将脚本注入 Unicode 字符串属性吗?
XPS 查看器如何处理 Unicode 字符串属性?作为字形的集合还是什么?
更新:我将以下字符串添加为 UnicodeText
!@#$%^&*()_+
XPS 查看器拒绝打开文件。这就是我想到这个问题的方式
XPS 文档,而不是(咳嗽) 某些其他格式不能包含脚本或活动内容。它们仅用作高保真预印格式。话虽如此,XPS 解析器包含安全漏洞并非完全不可能。他们可以被利用。不过,到目前为止,我还没有听说过任何这样的漏洞。
但回到你的观点。如果有人想将脚本放入 XPS 文档中的字符串中,他当然可以这样做。他只是不应该期望它会被执行。如果某些软件确实这样做,那么它可能是软件的安全问题,而不是文件格式。
仅仅因为您可以将恶意软件放入文本文件(还记得 iloveyou.vbs 吗?),这并不意味着文本文件本身就有安全漏洞 :-)
ETA:有问题的 UnicodeString 属性有助于在 XPS 文件中进行搜索:
UnicodeString 属性保存由当前元素表示的 Unicode 标量值数组。建议指定 Unicode 字符串,因为它支持搜索、选择和可访问性。
虽然字符串本身应该采用某种格式(在第 115 页的标准中也有详细说明),但查看器不想接受您的输入的原因是它甚至不是格式良好的 XML,因为与符号 ( &
) 未转义。我认为如果您按照&
XML 的要求对 & 符号进行编码,它将起作用。该规范还指出
标准 XML 转义机制用于指定 XML 保留字符。
但即使有了这些,UnicodeString 属性与文档其他部分之间的关系还是相当复杂的。他们为此写了半页多,哪些组合有效,哪些无效。所以我建议你先阅读一下,然后再尝试进一步玩:-)
p.95 of the XPS 1.0 spec: "The standard XML escaping mechanisms are used to specify XML-reserved characters."
The '&' might be causing troubles.