[蓝]关于FSO(FileSystemObject)的一些问题

2010-08-28 10:47:45来源:西部e网作者:

  近段日子大家总对fso的戒心很大,不是想要关闭就要删除,其实不然,以后我就零散的说几点关于fso的一些东西,也许会有不对的地方,请大家见谅、指正。

  第一:fso的打开和关闭

      关闭FSO命令:

windows98系统

在DOS命令行状态输入以下命令:

关闭命令:RegSvr32 /u C:\WINDOWS\SYSTEM\scrrun.dll

打开命令:RegSvr32 C:\WINDOWS\SYSTEM\scrrun.dll


win2000系统

在CMD命令行状态输入以下命令:

关闭命令:RegSvr32 /u C:\WINNT\SYSTEM32\scrrun.dll

打开命令:RegSvr32 C:\WINNT\SYSTEM32\scrrun.dll

  禁止Guest用户使用scrrun.dll来防止调用此组件。

  使用命令:cacls C:\WINNT\system32\scrrun.dll /e /d guests

  第二:fso的改名

  可以通过修改注册表,将此组件改名,来防止此类木马的危害。

  HKEY_CLASSES_ROOT\Scripting.FileSystemObject\

  改名为其它的名字,如:改为FileSystemObject_ChangeName

     (一点要说的是,在海洋顶端asp2005a以上版本,更改fso名是无效的。因为它直接调用object组件。)

  自己以后调用的时候使用这个就可以正常调用此组件了

  也要将clsid值也改一下

  HKEY_CLASSES_ROOT\Scripting.FileSystemObject\CLSID\项目的值

  也可以将其删除,来防止一些木马的危害。

  第三、黑客是如何利用FSO的

      1、黑客通过合法的ftp或者upfile等漏洞,将利用FSO进行上传、下载等文件放到目录中去。
      2、然后通过FSO的目录遍历程序,将目录找了出来。
      3、然后通过FSO的上传程序,将黑客工具放到系统目录中
      4、然后通过FSO的上传程序,改写autoexec.bat,使启动中运行黑客工具和注册表程序tab.reg和hide.reg
      5、然后将findpass运行的结果写入文本,他就可以得到我们的超级管理密码
      6、然后可以得到sa的密码,可以增加用户,以后可以干很多事情了。

  第四、Win 2003中提高FSO的安全性

  第一步是有别于Windows 2000设置的关键:右击C盘,点击“共享与安全”,在出现在对话框中选择“安全”选项卡,将Everyone、Users组删除,删除后如果你的网站连ASP程序都不能运行,请添加IIS_WPG组,并重启计算机。

  经过这样设计后,FSO木马就已经不能运行了。如果你要进行更安全级别的设置,请分别对各个磁盘分区进行如上设置,并为各个站点设置不同匿名访问用户。下面以实例来介绍(假设你的主机上E盘Abc文件夹下设Abc.com站点):

  1. 打开“计算机管理→本地用户和组→用户”,创建Abc用户,并设置密码,并将“用户下次登录时须更改密码”前的对号去掉,选中“用户不能更改密码”和“密码永不过期”,并把用户设置为隶属于Guests组。

  2. 右击E:\Abc,选择“属性→安全”选项卡,此时可以看到该文件夹的默认安全设置是“Everyone”完全控制(视不同情况显示的内容不完全一样),删除Everyone的完全控制(如果不能删除,请点击[高级]按钮,将“允许父项的继承权限传播”前面的对号去掉,并删除所有),添加Administrators及Abc用户对本网站目录的所有安全权限。

  3. 打开IIS管理器,右击Abc.com主机名,在弹出的菜单中选择“属性→目录安全性”选项卡,点击身份验证和访问控制的[编辑],弹出对话框,匿名访问用户默认的就是“IUSR_机器名”,点击[浏览],在“选择用户”对话框中找到前面创建的Abc账户,确定后重复输入密码。 

     经过这样设置,访问网站的用户就以Abc账户匿名身份访问E:\Abc文件夹的站点,因为Abc账户只对此文件夹有安全权限,所以他只能在本文件夹下使用FSO。

  常见问题:

  如何解除FSO上传程序小于200k限制?

  先在服务里关闭IIS admin service服务,找到Windows\System32\Inesrv目录下的Metabase.xml并打开,找到ASPMaxRequestEntityAllowed,将其修改为需要的值。默认为204800,即200K,把它修改为51200000(50M),然后重启IIS admin service服务。

  ASP提供了强大的文件系统访问能力,可以对服务器硬盘上的任何文件进行读、写、复制、删除、改名等操作,这给学校网站的安全带来巨大的威胁。现在很多校园主机都遭受过FSO木马的侵扰。但是禁用FSO组件后,引起的后果就是所有利用这个组件的ASP程序将无法运行,无法满足客户的需求。如何既允许FileSystemObject组件,又不影响服务器的安全性呢(即:不同虚拟主机用户之间不能使用该组件读写别人的文件)?

  第一步是有别于Windows 2000设置的关键:右击C盘,点击“共享与安全”,在出现在对话框中选择“安全”选项卡,将Everyone、Users组删除,删除后如果你的网站连ASP程序都不能运行,请添加IIS_WPG组,并重启计算机。

  经过这样设计后,FSO木马就已经不能运行了。如果你要进行更安全级别的设置,请分别对各个磁盘分区进行如上设置,并为各个站点设置不同匿名访问用户。下面以实例来介绍(假设你的主机上E盘Abc文件夹下设Abc.com站点):

  1. 打开“计算机管理→本地用户和组→用户”,创建Abc用户,并设置密码,并将“用户下次登录时须更改密码”前的对号去掉,选中“用户不能更改密码”和“密码永不过期”,并把用户设置为隶属于Guests组。

  2. 右击E:\Abc,选择“属性→安全”选项卡,此时可以看到该文件夹的默认安全设置是“Everyone”完全控制(视不同情况显示的内容不完全一样),删除Everyone的完全控制(如果不能删除,请点击[高级]按钮,将“允许父项的继承权限传播”前面的对号去掉,并删除所有),添加Administrators及Abc用户对本网站目录的所有安全权限。

  3. 打开IIS管理器,右击Abc.com主机名,在弹出的菜单中选择“属性→目录安全性”选项卡,点击身份验证和访问控制的[编辑],弹出对话框,匿名访问用户默认的就是“IUSR_机器名”,点击[浏览],在“选择用户”对话框中找到前面创建的Abc账户,确定后重复输入密码。

  经过这样设置,访问网站的用户就以Abc账户匿名身份访问E:\Abc文件夹的站点,因为Abc账户只对此文件夹有安全权限,所以他只能在本文件夹下使用FSO。

关键词:FSO