security - XPS 文档的安全性如何?

标签 security xps xpsdocument

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/

相关文章:

algorithm - 加密成本高但解密成本低

security - Write buffer overflow exploit——如何找出shellcode的地址?

.net - NET Framework 中是否有任何内置函数可以将字符串编码为有效的 XML unicode?

Windows:如何告诉打印机在打印过程中发出 FormFeed?

.net - 带有Windows窗体的XPS

android - 使用 shareduserid 的安全性

security - 在启用 SSL 的网站上使用 JWT 代替 Cookie

windows - 使用 Microsoft XPS Document Writer 以编程方式创建 XPS 文件

windows - 我可以在 Windows 窗体应用程序中使用 XpsDocument 类吗

c# - XpsDocument 忽略我的高度设置