在Internet Explorer中打开XML文件会发出安全警告。 IE有一个很好的可折叠树视图用于查看XML,但默认情况下它被禁用,你会收到关于潜在安全漏洞的这个可怕的错误消息。 http://www.leonmeijer.nl/archive/2008/04/27/106.aspx
但为什么呢?如何简单地查看 XML文件(不在其中运行任何嵌入的宏或任何东西)可能是一个安全漏洞?当然,我认为运行XSLT可能会做一些不好的事情,但我们不是在谈论执行任何事情。我们谈论的是观看。为什么IE不能简单地将XML文件显示为文本(加上可折叠树查看器)?
那么为什么他们将此标记为安全漏洞?有人可以描述如何简单地查看 XML文档可以用作攻击文档吗?
答案 0 :(得分:4)
我不认为伊恩是正确的。实际上,可折叠树查看器是HTML,它包含JavaScript。 IE将XML呈现为彩色,可折叠的HTML,并且展开/折叠代码在JavaScript中实现。然后,IE命中默认安全策略,阻止它在从本地文件系统打开的文件中执行JS,并且它会向您发出有关“此网页”如何限制运行脚本的警告。
您可以通过注意如果您不选择“允许阻止的内容”来验证这一点,那么展开/折叠将不起作用。如果您允许运行脚本,则展开/折叠将突然开始工作。
答案 1 :(得分:1)
IE仍然呈现文档,即使它最终会向您显示您喜欢的漂亮树视图。它实际显示的是XML文件的转换版本。 IIRC它使用XSLT将doc转换为DHTML。因此,doc仍在运行其渲染引擎。如果在呈现文档的过程中,标签显示出类似
的标签<object ... />
IE可能会获取该对象并将其加载到文档中。如果对象是一个恶意的ActiveX控件或一些讨厌的Java,它将会运行。