(转载)给你的FileSystemObject对象加把锁

filesystemobject|对象

给你的FileSystemObject对象加把锁
(作者:苏红超 2000年05月15日 10:34)

  现在国内提供支持ASP的免费空间越来越多了,对于ASP爱好者来说无疑是个好的势头,但是很多提供免费ASP空间的站点都没有对FileSystemObject这个对象做出任何限制,这也就导致了安全问题。比如,今年愚人节“东莞视窗”所有的主页都遭到了黑客的攻击,其实做这件事情很简单,就是使用FileSystemObject对象,具体的程序就不再讨论了。而另外一个比较有名的提供ASP空间的站点“网界”同样也存在这个安全漏洞,很容易遭到攻击。不仅仅是这些提供免费空间的站点存在这个安全漏洞,很多国内的虚拟主机提供商同样也存在这个安全隐患。这样给商业用户带来的危害就很大了。

  那么我们如何才能限制用户使用FileSystemObject对象呢?一种极端的做法是完全反注册掉提供FileSystemObject对象的那个组件,也就是Scrrun.dll。具体的方法如下:

  在MS-DOS状态下面键入:

Regsvr32 /u c:\windows\system\scrrun.dll

(注意:在实际操作的时候要更改成为你本地的实际路径)

  但是,显而易见,如果这样做,那么包括站点系统管理员在内的任何人都将不可以使用FileSystemObject对象了,这其实并不是站点管理人员想要得到的结果,毕竟我们使用这个对象可以实现方便的在线站台管理,如果连系统管理员都没法使用了,那可就得不偿失了,但是不禁止这个危险的对象又会给自己的站点带来安全漏洞。那么有没有两全其美的方法呢?有!具体方法如下:

  我们可以做到禁止他人非法使用FileSystemObject对象,但是我们自己仍然可以使用这个对象.

  方法如下:

  查找注册表中

   HKEY_CLASSES_ROOT\Scripting.FileSystemObject 键值

  将其更改成为你想要的字符串(右键-->"重命名"),比如更改成为

   HKEY_CLASSES_ROOT\Scripting.FileSystemObject2

  这样,在ASP就必须这样引用这个对象了:

   Set fso = CreateObject("Scripting.FileSystemObject2")

  而不能使用:

   Set fso = CreateObject("Scripting.FileSystemObject")

  如果你使用通常的方法来调用FileSystemObject对象就会无法使用了。

  呵呵,只要你不告诉别人这个更改过的对象名称,其他人是无法使用FileSystemObject对象的。这样,作为站点管理者我们就杜绝了他人非法使用FileSystemObject对象,而我们自己仍然可以使用这个对象来方便的实现网站在线管理等等功能了!

(以上方法在Win98+PWS以及WinNT4+IIS4环境下测试通过)

时间: 2024-10-07 03:15:39

(转载)给你的FileSystemObject对象加把锁的相关文章

警惕给你的FileSystemObject对象加把锁一文的漏洞

在"给你的FileSystemObject对象加把锁"一文中,提到更改HKEY_CLASSES_ROOT\Scripting.FileSystemObject的名称以达到给该对象加锁的方法,实为掩耳盗铃之举,不少网站都转载过此文,如果真有网管这样做,后果不堪设想.     解这把锁的方法如下: <OBJECT RUNAT=server CLASSID="clsid:0D43FE01-F093-11CF-8940-00A0C9054228" id=objFS&g

给你的FileSystemObject对象加把锁-ASP漏洞集

filesystemobject|对象    现在国内提供支持ASP的免费空间越来越多了,对于ASP爱好者来说无疑是个好的势头,但是很多提供免费ASP空间的站点都没有对FileSystemObject这个对   象做出任何限制,这也就导致了安全问题.比如,今年愚人节"东莞视窗"所有的主页都遭到了黑客的攻击,其实做这件事情很简单,就是使用FileSystemObject对象,   具体的程序就不再讨论了.而另外一个比较有名的提供ASP空间的站点"网界"同样也存在这个安

给你的FileSystemObject对象加把锁

filesystemobject|对象     现在国内提供支持ASP的免费空间越来越多了,对于ASP爱好者来说无疑是个好的势头,但是很多提供免费ASP空间的站点都没有对FileSystemObject这个对象做出任何限制,这也就导致了安全问题.比如,今年愚人节"东莞视窗"所有的主页都遭到了黑客的攻击,其实做这件事情很简单,就是使用FileSystemObject对象,具体的程序就不再讨论了.而另外一个比较有名的提供ASP空间的站点"网界"同样也存在这个安全漏洞,很

给你的FSO对象加把锁

fso|对象     在国内提供支持ASP的免费空间越来越多了,对于ASP爱好者来说无疑是个好的势头,但是很多提供免费ASP空间的站点都没有对FileSystemObject这个对象做出任何限制,这也就导致了安全问题.比如,今年愚人节"东莞视窗"所有的主页都遭到了黑客的攻击,其实做这件事情很简单,就是使用FileSystemObject对象,具体的程序就不再讨论了.而另外一个比较有名的提供ASP空间的站点"网界"同样也存在这个安全漏洞,很容易遭到攻击.不仅仅是这些提

FileSystemObject 对象

filesystemobject|对象   FileSystemObject 对象 FileSystemObject(FSO) 对象模式包含下面的对象和集合. 对象/集合描述FileSystemObject主对象.包含用来创建.删除和获得有关信息,以及通常用来操作驱动器.文件夹和文件的方法和属性.和该对象相关联的许多方法,与其他 FSO 对象中的方法完全相似:它们是为了方便才被提供的.Drive对象.包含用来收集信息的方法和属性,这些信息是关于连接在系统上的驱动器的,如驱动器的共享名和它有多少可

Scripting.FileSystemObject对象

filesystemobject|对象     FileSystemObject对象提供对计算机文件系统的访问,它允许我们在代码内操作文本文件.文件夹及驱动器.它是脚本运行期库提供的对象之一,对于服务器ASP页面内的VBScript和JScript都有效.如果页面的扩展名为.hta(表示它们是HTA的一部分),它也可用在客户端的IE 5中.本节仅讨论在服务器上的ASP脚本如何使用FileSystemObject对象.       超级文本应用程序(HTA)由指定的"受信任的"页面组成,

LINQ to SQL语句(17)之对象加载

对象加载延迟加载 在查询某对象时,实际上你只查询该对象.不会同时自 动获取这个对象.这就是延迟加载. 例如,您可能需要查看客户数据和 订单数据.你最初不一定需要检索与每个客户有关的所有订单数据.其优点是你 可以使用延迟加载将额外信息的检索操作延迟到你确实需要检索它们时再进行. 请看下面的示例:检索出来CustomerID,就根据这个ID查询出OrderID. var custs = from c in db.Customers where c.City == "Sao Paulo" s

JavaScript使用FileSystemObject对象写入文本文件内容的方法_javascript技巧

本文实例讲述了JavaScript使用FileSystemObject对象写入文本文件内容的方法.分享给大家供大家参考.具体如下: 这段代码主要是练习JavaScript的FileSystemObject对象,用它来让JavaScript向一个文本文件中写入内容,这个TXT文件的路径你可以自己指定,然后定义好要写入的内容,运行代码,你会发现原来的TXT文本中的内容已改变. 运行效果如下图所示: 具体代码如下: <html> <head> <title>写入文本文件<

VBS教程:对象-FileSystemObject 对象_vbs

FileSystemObject 对象 提供对计算机文件系统的访问. 说明 以下代码举例说明如何使用 FileSystemObject 对象返回一个 TextStream 对象,此对象可以被读取或写入: Dim fso, MyFileSet fso = CreateObject("Scripting.FileSystemObject")Set MyFile = fso.CreateTextFile("c:\testfile.txt", True)MyFile.Wri