XPS 文档的安全性如何?从XPS内部查看后文档中,找到了 Unicode-string 属性。有人可以注入(inject) e.x.吗?将脚本写入 Unicode 字符串属性?
XPS 查看器如何处理 Unicode 字符串属性?作为字形的集合还是什么?
更新:我添加了以下字符串作为 UnicodeText
!@#$%^&*()_+
并且 XPS 查看器拒绝打开该文件。这就是我想到这个问题的原因
最佳答案
XPS 文档,而不是(咳嗽) some other format不能包含脚本或事件内容。它们仅用作高保真预打印格式。话虽这么说,XPS 解析器包含安全漏洞并非完全不可能。他们可能会被利用。不过,到目前为止我还没有听说过任何此类漏洞。
回到你的观点。如果有人想将脚本放入 XPS 文档中的字符串中,他当然可以这样做。他只是不应该指望它会被执行。如果某些软件确实这样做,那么这可能是该软件的安全问题,而不是文件格式的问题。
仅仅因为您可以将恶意软件放入文本文件中(还记得 iloveyou.vbs 吗?),并不意味着文本文件本身存在安全漏洞:-)
预计到达时间:有问题的 UnicodeString 属性有助于在 XPS 文件内进行搜索:
The UnicodeString attribute holds the array of Unicode scalar values that are represented by the current element. Specifying a Unicode string is RECOMMENDED, as it supports searching, selection, and accessibility.
虽然字符串本身应该采用某种格式(第 115 页的标准也有详细说明),但查看者不想接受您的输入的原因是它甚至不是格式良好的 XML,因为与号 (&
) 未转义。我认为如果您按照 XML 的要求将 & 符号编码为 &
,它就会起作用。该规范还指出
The standard XML escaping mechanisms are used to specify XML-reserved characters.
但即使有了这个,UnicodeString 属性与文档其他部分之间的关系也相当复杂。他们用了半页多的篇幅来阐述哪些组合有效,哪些组合无效。因此,我建议您先阅读该内容,然后再尝试进一步尝试:-)
关于security - XPS 文档的安全性如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1747323/