IExpress

IExpress是Windows 2000和更高版本的操作系统的组件，用于从一组文件中创建自解压缩程序包。此类软件包可用于安装软件。

 概述 
IExpress（IEXPRESS.EXE）可用于将自包含的安装程序包（基于INF的安装可执行文件）分发到多台本地或远程Windows计算机。它使用提供的前端界面（IExpress向导）或自定义的自我提取指令（SED）文件创建自解压缩的可执行文件（.EXE）或压缩的Cabinet（.CAB）文件。 可以使用任何纯文本/ ASCII编辑器（例如Notepad）修改SED文件。由IExpress创建的所有自解压缩文件均使用CAB压缩算法，使用MakeCab（MAKECAB.EXE）工具压缩 ，并使用WExtract（WEXTRACT.EXE）工具提取。  IEXPRESS.EXE位于WindowsSYSTEM32的32位和64位安装文件夹中。可以通过手动导航到相应目录并打开可执行文件（IExpress.exe）或在“开始”菜单的“运行”窗口中键入IExpress来启动前端界面（IExpress向导）。也可以从命令行（Windows命令提示符或批处理文件）中使用它来创建自定义安装程序包，这些程序包将会自动操作：

IEXPRESS /N drive_letter:\directory_name\file_name.SED

IExpress向导界面指导用户完成创建自解压程序包的过程。IExpress会询问用户，程序包应该做什么，提取文件然后运行程序，或者仅提取文件。然后，其允许用户为程序包指定标题，添加确认提示，添加最终用户必须接受以允许提取的许可协议，选择要归档的文件，为进度窗口设置显示选项，以及最后指定要在完成时显示的消息。

如果选择了创建归档文件并运行程序的选项，则将有一个附加步骤，提示用户选择要在提取时运行的程序。

IExpress将根据操作系统类型（32或64位）创建相应的自解压缩存档，而且64位将无法在32位计算机上运行解压缩。

 安全性 
使用IExpress创建的自解压程序包具有（固有的）漏洞，由于处理安装命令和命令行处理的方式，它们允许任意代码的执行。  此外，由于Windows 用户帐户控制处理安装程序的方式，这些漏洞允许特权提升。

更具体地说，此漏洞有两个版本：最明显的是/c:开关告诉软件包在提取的目录中运行任意命令；另一个是该目录对于任何普通用户都是可读可写的，因此msiexec.exe可以用攻击有效载荷代替常用命令。 后者已由Microsoft在MS14-049中修复，但是仅通过弃用IExpress的策略解决了前者。 此外，IExpress还可能存在DLL劫持漏洞。

 参考资料 

Category:安裝軟體