<;security>;
<;exploit>;
<;![CDATA[
<;objectid="oFile"
classid="clsid:88888888-8888-8888-8888-888888888888"
codebase="c:/winnt/system32/calc.exe">;<;/object>;
]]>;
<;/exploit>;
<;/security>;
<;/xml>;
运行上面的html文件,会打开你的计算机中c:/winnt/system32文件夹下的calc.exe文件!而且IE没有任何提示!即使在IE的安全设置中禁用ActiveX控件上述代码也能工作!如果不是calc.exe文件而是其他恶意文件又会怎么样?如果是在你浏览的网页中含有类似上面的代码又会怎么样?真危险啊!
之所以会这样是由于IE存在两个可怕的漏洞:可本地执行任意命令,IE的ActiveX安全设置可被绕过。在上述代码中我们给IE指定了一个系统中并不存在的控件号("clsid:88888888-8888-8888-8888-888888888888),IE会试图从codebase指定的地址去下载并安装改控件。根据codebase于是IE找到了c:/winnt/system32/calc.exe,接着IE开始“下载”并安装该程序。由于calc.exe是EXE文件,这样就等于是在运行该文件,所以calc.exe就被运行了!
那么为什么IE在“下载安装控件”过程中不提示用户,也不应用IE安全设置中的限定进行检测呢?这就是IE的ActiveX安全设置可被绕过漏洞造成的!其主要原因是IE安全设置都是针对非本地的页面或交互的,对于本地的安全设置IE是最大信任的。如果你注意看IE的安全设置,都是对Internet和Intranet上WEB服务器而言的,根本就没有对本地文件的安全设置。概括说来就是IE对本地安全采用最大信任原则。
解决的办法就是我们在开始说的那个技巧:挖出挖出IE本地安全配置选项,即修改IE安全设置中有关“我的电脑”的设置,选定后,禁用ActiveX下载就万事大吉了。