6

前段时间我有一个发现。只需按照以下步骤操作:

在 office 2003 中创建一个 .doc/.xls/.ppt 文件。在其中保留一些测试数据并关闭该文件。现在重命名文件以将其文件扩展名更改为随机字符串,注意它是未关联的,例如 test.asdfghjkl 等。双击该文件,它会在父应用程序中无缝打开。

现在 AFAIK,Windows 检查文件的文件扩展名并使用它来执行操作,即打开应用程序并将文件传递给它以打开。那么办公套件是如何做到这一点的呢?

编辑:扩展名更改为与另一个应用程序相关联的情况如何。是否有处理该问题的优先级算法?

4

2 回答 2

4

你有“查看已知类型的扩展”选项吗?

编辑:@Comments....是的,这是一个愚蠢/侮辱性的问题,但是在解决问题时,我学会了什么都不做,并且信任用户 0%。

但是,我试过了,你是对的。MS有这种行为是愚蠢的,它只能导致安全漏洞,这导致我搜索你的答案。

来自http://seclists.org/fulldisclosure/2007/Jan/0444.html的帖子

“您偶然发现了 Windows 一个古老的古怪行为。Office 文档格式基于标准的 Windows 容器格式、OLE 结构化存储文件,也称为“docfiles”。docfile 的名称和扩展名无关紧要 - 文件是,从概念上讲,OLE 对象的序列化,并且像所有序列化格式一样,它包含生成它的应用程序的标识符,在这种情况下以 OLE 类 ID(GUID 格式)的形式。您可以轻松验证它没有不能使用较新的 Office XML 格式”

确实它不适用于 2007 *X 文件类型,但 2K3 仍然是个问题。为了解决这个问题...升级!=)

这里是TOC 第 2 点下的安全焦点。

所以,你去吧。

于 2008-11-10T17:06:31.990 回答
0

我现在似乎无法做到这一点,但我知道几年前我看到Windows 阅读 XML 处理指令。也许这就是正在发生的事情?

于 2008-11-11T02:08:03.147 回答