ASP.NET虚拟主机的重大安全隐患(一)

 
2002-07-01· ·秦海鹏··yesky
说明:本文中所有程序均在Windows 2000 Server中文版 + SP2上编译运行无误
开发环境:.Net 框架1.0 Version 1.0.3705
  一、ASP.NET虚拟主机存在的重大隐患
  我曾经在WWW.BRINKSTER.COM申请了一个免费的ASP.NET空间,上传了两个程序,其中一个查看目录和文件的程序证明我的判断:ASP共享空间服务器存在的一个安全问题,在 ASP+ 共享空间服务器中依然存在并且变得更加难以防范!通过这个程序我可以浏览所有用户的ASP+程序,可以查看服务器的系统日志……,当然,如果我想删除什么的话也不会有什么问题。为了让大家更清楚地了解这一问题,我们有必要简单介绍一下ASP中就已经存在的这一问题。
  ASP中常用的标准组件:FileSystemObject,这个组件为 ASP 提供了强大的文件系统访问能力,可以对服务器硬盘上的任何有权限的目录和文件进行读写、删除、改名等操作。FSO对象来自微软提供的脚本运行库scrrun.dll中。
  使用下面的代码就可以在ASP中创建一个FSO对象:
  Set fso = CreateObject("Scripting.FileSystemObject")
  我们使用fso对象包含的属性和方法,如Drive、Drives、Folder、Floders、File、Files等对服务器的磁盘、目录和文件进行读、写、删除等操作。这一强大的文件系统访问能力给ASP共享空间提供者带来了严重的安全问题,很多ASP空间的管理员都删除此组件或将这个组件改名以避免用户使用这一标准组件。删除组件或组件改名确实是一个简单的方法并且也很有效,但是却使广大用户无法使用它的强大的功能。网络上还有一种看起来很美的方案,它允许用户使用 FileSystemObject 组件又不影响服务器的安全,即对每一个用户都设置一个独立的服务器用户和单个目录的操作权限。但是这种方法是有问题的。因为ASP和ASP.NET中在这方面的问题十分类似,所以我们将在ASP.NET的相应解决办法部分详加说明。
  在ASP.NET中我们发现这一问题仍然存在,并且变得更加难以解决。这是因为.NET中关于系统IO操作的功能变得更加强大,而使这一问题更严重的是ASP.NET所具有的一项新功能,这就组件不需要象ASP那样必须要使用regsvr32来注册了,只需将Dll类库文件上传到bin目录下就可以直接使用了。这一功能确实给开发ASP.NET带来了很大的方便,但是却使我们在ASP中将此dll删除或者改名的解决方法失去效用了,防范此问题就变得更加复杂。在讨论解决方案之前,我们先来看一下怎么来实现上述的危险的功能。

时间: 2024-08-29 05:40:26

ASP.NET虚拟主机的重大安全隐患(一)的相关文章

ASP.NET虚拟主机的重大安全隐患

asp.net|安全|安全隐患|虚拟主机 说明:本文中所有程序均在Windows 2000 Server中文版 + SP2上编译运行无误开发环境:.Net 框架1.0 Version 1.0.3705 一.ASP.NET虚拟主机存在的重大隐患 我曾经在WWW.BRINKSTER.COM申请了一个免费的ASP.NET空间,上传了两个程序,其中一个查看目录和文件的程序证明我的判断:ASP共享空间服务器存在的一个安全问题,在 ASP+ 共享空间服务器中依然存在并且变得更加难以防范!通过这个程序我可以浏

ASP.NET虚拟主机的重大安全隐患(三)

解决方案 将FSO组件和删除或改名的方式我们不再过多的加以说明了,这一类的解决方法网络上已经有很多文章介绍了. 另外还有一种关于ASP的FSO组件漏洞的相应解决方案,即根据用户设置权限.在IIS里,可以设置每个站点的匿名访问所使用的帐号,默认为IUSR_ HostName,这一方法的原理就是针对每一个共享主机用户分别设置一个Windows帐号,如IUSR_HostName1,IUSR_ HostName 2等,然后将每一个用户限制在各自的Web目录下. 我们仔细的研究一下这种方案,可以发现这个方

推荐:ASP.NET虚拟主机安全漏洞解决方案

asp.net|安全|安全漏洞|解决|虚拟主机 说明:本文中所需环境为2003Server+iis6.0+ms sql2000 曾经很早就在网上看到一篇关于<asp.net虚拟主机的重大隐患>的文章,当时并不在意,做过asp虚拟主机的朋友可能都知道,即对每一个用户都设置一个独立的服务器用户和单个目录的操作权限,能够基本上解决asp的fso问题. 在网上无意中发现了一个叫做webadmin的asp.net-webshell,对自己的服务器进行测试的时候,让我大吃一惊,居然对我服务器的c盘有读取的

ASP.NET虚拟主机安全漏洞解决方案

asp.net|安全|安全漏洞|解决|虚拟主机 说明:本文中所需环境为2003Server+iis6.0+ms sql2000 曾经很早就在网上看到一篇关于<asp.net虚拟主机的重大隐患>的文章,当时并不在意,做过asp虚拟主机的朋友可能都知道,即对每一个用户都设置一个独立的服务器用户和单个目录的操作权限,能够基本上解决asp的fso问题. 在网上无意中发现了一个叫做webadmin的asp.net-webshell,对自己的服务器进行测试的时候,让我大吃一惊,居然对我服务器的c盘有读取的

让你的ASP.NET虚拟主机也支持子网站

asp.net|虚拟主机     现在ASP.NET虚拟主机一般都可以绑定多个域名,但是通过这几个域名打开的页面都一样.如何使绑的这几个域名分别打开不通的页面(即实现子网站的功能)呢? 其实很简单,只需4个步骤:    1)给虚拟主机绑定几个域名:例如:www.abc.com,services.abc.com,support.abc.com.    2)在虚拟主机站点的根目录下建立几个文件夹:例如:services,support:www文件夹就不要建了.    3)在vs 2005 Web项目

最好的ASP.NET虚拟主机空间推荐

中介交易 SEO诊断 淘宝客 云主机 技术大厅 ASP.NET凭借着世界级的工具支持.强大性和适应性.简单性和易学性和高效的可管理性使之成为目前最流行的web开发工具之一.目前对于ASP.NET虚拟主机的需求也日益增多,在这里为大家推荐一款优秀的香港ASP.NET虚拟主机空间:主机91. 综述: 主机91提供的ASP.NET虚拟主机空间采用windows server 2008 R2+IIS7.5的服务器操作系统配置,提供500M磁盘空间(可升级),支持ASP.NET 1.1/2/3.5SP1/

ASP控制虚拟主机函数ADSI

函数|控制|虚拟主机|函数|虚拟主机 使用ASP设置指定站点CPU最大使用程度'================================================='函数介绍:设置指定站点CPU最大使用程度'本函数使用ADSI,需要Administrators组用户权限'函数名称:SetCPULimitVar (Computer,SiteNum,LimitVar)'用法:SetCPULimitVar 计算机名,站点编号,最大限制值(100=1%,1000=10%)'例:SetCPU

ASP.NET虚拟主机中Forms Authentication的安全性

asp.net|安全|安全性|虚拟主机 原创 By Fancyf(Fancyray) http://blog.csdn.net/fancyf/    写完了<ASP.NET Forms Authentication所生成Cookie的安全性>,觉得可以为Forms的安全性松一口气了,结果最初提出问题的贴主又提到了一个问题:MachineKey是怎样实现的?同一台虚拟主机上不同的Web Application所使用的MachineKey是不是一样的?上次没想到这个为题,再做一下试验.    试验

Win2003+ASP.NET虚拟主机安全设置图文教程_win服务器

在这里,我们的站点目录放在D盘的www文件夹,假设现在有一个名叫fesend的虚拟主机用户,我们在www文件夹下建立 fesend 的文件夹来存放此用户的站点数据 其中要用到以下组及帐号: IIS_WPG 组(也称为 IIS 工作进程组,IIS Worker Process Group) Guests组 (来宾组,在系统中拥有最少的权限) Internet 来宾帐户 (匿名访问 Internet 信息服务的内置帐户) 启动 IIS 进程帐户 (用于启动进程外应用程序的 Internet 信息服务