MS08-043:如何防止此信息泄露漏洞
在本月的Excel更新中,我们解决了一个有趣的CVE(CVE-2008-3003)——这是首个影响新Open XML文件格式的漏洞(但不会导致代码执行)。这是一个信息泄露漏洞,当用户从Excel建立到远程数据源的数据连接,并勾选复选框以让Excel不将该连接中使用的密码保存到文件时,可能会出现此漏洞。在保存为新Open XML(.XLSX)文件格式时,该复选框没有效果,密码因此被错误地保存到文件中——从而形成漏洞。所以,如果您还没听说过——新的Open XML文件(扩展名以“x”结尾的Office文件,即.docx、.xlsx、.pptx)实际上是ZIP容器!事实上,如果您将文件扩展名更改为.ZIP,您可以在Winzip或Windows shell中打开新的Office Open XML文件,自己查看内容,而无需花哨的十六进制编辑器。如果您这样做——您将看到里面主要是一堆XML文件和图像文件(假设您的Office应用程序中有图像)。事实证明,为了验证/复现此错误报告,只需要Windows shell(打开重命名的Office“.zip”文件)和Notepad(编辑其中的一个XML文件)。实际上,Windows shell和Notepad就是解决此错误(如该漏洞公告的变通方案部分所述)并从您的.XLSX文件中删除意外泄露的信息所需的全部工具!
以下是您可以检查.XLSX文件是否包含不当保存的数据库连接密码的方法,以及如何删除它并自己修复文件!
- 备份您将编辑的XLSX文件。
- 在Windows XP或Windows Vista机器上,将受影响的.XLSX文件的扩展名更改为.ZIP。
- 使用Windows shell(即Windows资源管理器)通过双击打开ZIP文件,然后双击其中的“XL”文件夹。
- 在“XL”文件夹中,单击“connections.xml”并将其拖出ZIP文件到本地文件夹或桌面。
- 右键单击“connections.xml”文件,选择“打开方式”,然后选择“Notepad”。
- 定位字符串“connection=”,然后在该字符串中稍后搜索“PWD=”。删除“PWD=”之后和“;”字符之前的任何字符,因为这些是不当保存的连接密码。例如,如果您有一个带有保存连接密码的XLSX文件,您可能在connections.xml中看到类似以下的字符串:
|
|
- 保存connections.xml。
- 将connections.xml文件拖回ZIP文件夹,确保将其放置在ZIP文件内的“XL”文件夹中。 a. 注意:某些应用程序(如Winzip)默认将文件放置在ZIP存档的根目录,并且默认不会覆盖“xl”文件夹中的文件。
- 将ZIP文件的扩展名更改回XLSX,然后在Excel 2007中打开文档,单击“数据”菜单,然后在功能区的连接部分单击“全部刷新”,并验证您是否被提示输入密码。
- 安全漏洞研究与防御博客作者 发布内容“按原样”提供,不提供任何保证,也不授予任何权利。