FSO(FileSystemObject)是微软ASP的一个对文件操作的控件,该控件可以对服务器进行读写、新建、修改、删除目录以及文件的操作。是ASP编程中非常有用的一个控件。
但是因为权限控制的问题,很多虚拟主机服务器的FSO反而成为这台服务器的一个公开的后门,因为客户可以在自己的ASP网页里面直接就对该控件编程,从而控制该服务器甚至删除服务器上的文件。
因此不少业界的虚拟主机提供商都干脆关掉了这个控件,让客户少了很多灵活性。
FSO启用
1、首先在系统盘中查找scrrun.dll,如果存在这个文件,请跳到第三步,如果没有,请执行第二步。
2、在安装文件目录i386中找到scrrun.dl_,用winrar解压缩,得scrrun.dll,然后复制到x(你的系统盘):\windows\system32\目录中。
3、运行regsvr32 scrrun.dll即可。
4、如果想关闭FSO组件,请运行regsvr32 /u scrrun.dll即可。
在 开始-"运行"中执行regsvr32.exe scrrun.dll即可。
如想关闭FSO权限,在上述命令中加/u参数。
在注册表中的键值位置:HKEY_CLASS_BOOT\F.S.O
三种禁用FileSystemObject组件的方法
众所周知,FileSystemObject组件的强大功能及破坏性是它屡屡被免费主页
提供商(那些支持ASP)的禁用的原因,我整理了一下,本来只找到两种方法,后来
被某人一刺激,硬是想到第三种不为人所知的方法,呵呵,也不知道是不是这样的。
第一种:用RegSrv32 /u C:WINDOWSSYSTEMscrrun.dll(win98路径)来注销该组
件。此方法过于狠毒,属于同归于尽的方法,大家都没得用,是下招
第二种:修改Progid的值,在ASP里调用组件的方式通常是 Set 对象名=Server.
CreateObject("Progid"),这时候我们就可以通过修改注册表中的Progid值从达
到禁用该组件的方法。在 开始-运行中敲入regedit,然后找到HKEY_CLASSES_ROO
TScripting.FileSystemObject,这时候我们就可以更改该Progid的值了,如改
成Scripting.FileSystemObject8。这样在ASP页里就这样调用了:
<%@ Language=Vbscript%>
<%
Set Fs=Server.CreateObject("Scripting.FileSystemObject8")
%>
(如果你前面没有调用过该组件的话,则无须重启,就可以看到效果了,否则请重
启后看效果。)
这时候我们看看还是用原来的调用方法的结果:
<%@ Language=Vbscript%>
<%
Set Fs=Server.CreateObject("Scripting.FileSystemObject")
%>
这时候的运行结果为:
服务器对象 错误 'ASP 0177 : 800401f3'
Server.CreateObject 失败
/aspimage/testfile2.asp, 行3
800401f3
(OK,达到我们的要求)
该方法由于本人迟了两步,结果就让别人抢着回答了,这样极大的刺激了我,结
果就产生了第三种方法。
第三种:细心的高手们会想,既然能通过修改Progid值来禁用该组件,那Clsid是否也可以来修改呢?(OK,你想得和我一样)我们知道,除了CreateObject方法以外,也可以使用一般的<object>标注建立一个组件,我们可以在ASP里面使用HTML的<object>标注,以便在网页中加入一个组件。方法是:<object runat=server id=fs1 scope=page progid="Scripting.FileSystemObject"></object>Runat表示是在服务端执行,Scope表示组件的生命周期,可以选用Session,Application或page(表示当前页面,也可缺省)这种写法对我们没用,还有一种写法是:
<object runat=server id=fs1 scope=page classid="clsid:clsid的值"></object>
我们也可以通过修改该Clsid的值而禁用该组件,如将注册表中HKEY_CLASSES_ROOTScripting.FileSystemObjectCLSID的值0D43FE01-F093-11CF-8940-00A0C9054228改成0D43FE01-F093-11CF-8940-00A0C9054229(改了最后面一位),这时候的写法为:
<object runat=server id=fs1 scope=page classid="clsid:0D43FE01-F093-11CF-8940-00A0C9054229"></object>
看运行结果,没问题,OK。这时候我们再用
<object runat=server id=fs1 scope=page classid="clsid:0D43FE01-F093-11CF-8940-00A0C9054228"></object>
这时候就出错了。
新建一用户:iusr_domain
IIS里设置对应站点的匿名用户IUSR_DOMAIN
CACLS: 设置目录权限
这样FSO可用,但不会影响别人
分享到:
相关推荐
标题 "禁止和启用FSO、WSH.rar" 涉及到的是Windows系统中的两个关键组件:FileSystemObject(FSO)和Windows Script Host(WSH)。这两个组件在系统管理和脚本编写中扮演着重要角色。 **FileSystemObject(FSO)** ...
- **启用FSO组件**:在命令提示符窗口中输入以下命令:`RegSvr32 %windir%\SYSTEM32\scrrun.dll` **2. 注销与注册后的常见问题** - **重复操作无效**:如果多次执行注销与注册操作后仍然无法正常启用FSO组件,则...
启用:regsvr32 scrrun.dll禁用:regsvr32 /u scrrun.dll
在ASP环境中,`FSO`的可用性取决于服务器上是否安装了Internet Information Services (IIS)并且配置了启用`Classic ASP`支持。如果服务器运行的是Windows操作系统,并且IIS已经安装并启用了ASP,那么通常`FSO`也会是...
例如,它可能解释了如何解读不同的返回消息,如“FSO已启用”、“FSO未启用”或“权限不足”。 总的来说,【空间fso探测程序】为web开发者提供了一种便捷的方式来确定他们的服务器环境是否具备使用FSO的能力,这...
然而,当服务器出于安全考虑或其他原因禁用FSO时,ASP空间在线解压工具提供了一种替代方案。该工具可能使用了其他方式,如COM对象或.NET Framework集成,来实现文件的读取和解压缩功能,这样即使在没有FSO支持的情况...
9. **宏的安全性与启用**:由于VBA宏可能涉及安全问题,Office默认可能会禁用宏。用户需要在信任中心设置中启用宏,才能运行此类程序。 10. **应用拓展**:这个实例可以作为模板,稍作修改就能应用于其他文件夹或...
- 由于宏可能携带恶意代码,Office默认禁用未知源的宏,使用宏时需确保来源可靠,并在设置中启用宏执行。 通过学习和理解这个VBA宏实例,你可以掌握如何在Excel中利用VBA进行文件操作,以及如何将宏应用于实际的...
ASP提供了`On Error`语句来启用或禁用错误处理,并可以使用`Err`对象获取错误信息。良好的错误处理机制能确保在遇到问题时提供适当的反馈,而不是让程序崩溃。 8. **数据库集成**:在网站管理页面中,文件管理往往...
VBS中的On Error语句可以用来启用或禁用错误处理。例如,`On Error Resume Next`会在出现错误时继续执行后面的代码,而`On Error GoTo 0`则会关闭当前作用域内的错误处理。 6. **函数和过程**: VBS支持自定义...
VBScript的On Error语句用于启用或禁用错误处理,以及设置错误处理模式。通过Err对象,可以获取错误信息,如Error号、Description和Source。Try...Catch...Finally结构在VBScript中没有直接对应,但可以通过自定义...
"将\"禁用ActiveX控件\"设为\"启用\""); return false; } return true; } (this.value)"> (document.all('fileup').value)" value="检查文件大小"> ``` 1. **文件大小获取**:通过`GetFile`方法获取...
2. **开启FSO功能**:如果错误与Scripting.FileSystemObject(FSO)相关,可以通过运行`regsvr32 scrrun.dll`来开启FSO功能。 其次,调整浏览器的安全设置也可能有助于解决问题: 1. **设置安全模式**:将浏览器的...
VBScript也支持错误处理和调试机制,通过On Error语句可以启用或禁用错误处理,以及定义错误发生时的行为。Debug.Print可以用于在 Immediate 窗口打印变量值,便于调试。 总的来说,VBScript是一种功能强大且易于...
通过在“运行”中执行`regsvr32 scrrun.dll`,可以重新注册scrrun.dll文件,从而启用FSO。 2. **调整安全设置**:如果JavaScript脚本抛出此错误,可能是因为浏览器的安全设置太严格。将安全模式设置为“中”,并...
然而,出于安全考虑,FSO在默认情况下通常是被禁用的。 - **实现步骤**: - 在IIS(Internet Information Services)中启用可写入功能。 - 如果Web应用所在的目录是NTFS格式,则需要进一步配置该目录中的权限,...
7. **错误处理**:通过On Error语句可以启用或禁用错误处理,以及设置错误处理方式。例如: ```vbscript On Error Resume Next ' 开启错误处理,即使有错误也会继续执行 ' ... On Error GoTo 0 ' 关闭错误处理 ...
- **错误处理**:`On Error`语句用于启用或禁用错误处理,`Err`对象用于捕获和报告错误信息。 - **修改注册表**:通过`WScript.Shell`对象的`RegWrite`方法可以读写注册表键值。 - **FSO(FileSystemObject)**:...