ASP***Webshell的安全防范解决办法

 注意:本文所讲述之设置方法与环境:适用于Microsoft Windows 2000 Server/Win2003 SERVER   IIS5.0/IIS6.0   一、首先咱们来看看通常ASP***、Webshell所利用的ASP组件有那些?咱们以海洋***为列:                  shellStr="Shell"   applicationStr="Application"   if cmdPath="wscriptShell"   set sa=server.createObject(shellStr&"."&applicationStr)   set streamT=server.createObject("adodb.stream")   set domainObject = GetObject("WinNT://.")   以上是海洋中的相关代码,从上面的代码咱们不难看出通常ASP***、Webshell主要利用了如下几类ASP组件:      ① WScript.Shell (classid:72C24DD5-D70A-438B-8A42-98424B88AFB8)   ② WScript.Shell.1 (classid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B)   ③ WScript.Network (classid:093FF999-1EA0-4079-9525-9614C3504B74)   ④ WScript.Network.1 (classid:093FF999-1EA0-4079-9525-9614C3504B74)   ⑤ FileSystem Object (classid:0D43FE01-F093-11CF-8940-00A0C9054228)   ⑥ Adodb.stream (classid:{00000566-0000-0010-8000-00AA006D2EA4})   ⑦ Shell.applicaiton....   hehe,这下咱们清楚了危害咱们WEB SERVER IIS的最罪魁祸首是谁了!!开始操刀,come on...   2:解决办法:   ① 删除或改名如下危险的ASP组件:   WScript.Shell、WScript.Shell.一、Wscript.Network、Wscript.Network.一、adodb.stream、Shell.application   开始------->运行--------->Regedit,打开注册表编辑器,按Ctrl+F查找,依次输入以上Wscript.Shell等组件名称以及相应的ClassID,而后进行删除或者更更名称(这里建议你们改名,若是有部分网页ASP程序利用了上面的组件的话呢,只需在将写ASP代码的时候用咱们更改后的组件名称便可正常使用。固然若是你确信你的ASP程序中没有用到以上组件,仍是直接删除心中踏实一些^_^,按常规通常来讲是不会作到以上这些组件的。删除或改名后,iisreset重启IIS后便可升效。)   [注意:因为Adodb.Stream这个组件有不少网页中将用到,因此若是你的服务器是开虚拟主机的话,建议酢情处理。]   ② 关于 File System Object (classid:0D43FE01-F093-11CF-8940-00A0C9054228)即常说的FSO的安全问题,若是您的服务器必须要用到FSO的话,(部分虚拟主机服务器通常需开FSO功能)能够参照本人的另外一篇关于FSO安全解决办法的文章:Microsoft Windows 2000 Server FSO 安全隐患解决办法。若是您确信不要用到的话,能够直接反注册此组件便可。   ③ 直接反注册、卸载这些危险组件的方法:(实用于不想用①及②类此类烦琐的方法)   卸载wscript.shell对象,在cmd下或直接运行:regsvr32 /u %windir%\system32\WSHom.Ocx   卸载FSO对象,在cmd下或直接运行:regsvr32.exe /u %windir%\system32\scrrun.dll   卸载stream对象,在cmd下或直接运行: regsvr32 /s /u "C:\Program Files\Common Files\System\ado\msado15.dll"   若是想恢复的话只须要去掉 /U 便可从新再注册以上相关ASP组件例如:regsvr32.exe %windir%\system32\scrrun.dll   ④ 关于Webshell中利用set domainObject = GetObject("WinNT://.")来获取服务器的进程、服务以及用户等信息的防范,你们能够将服务中的Workstation[提供网络链结和通信]即Lanmanworkstation服务中止并禁用便可。此处理后,Webshell显示进程处将为空白。   3 按照上一、2方法对ASP类危险组件进行处理后,用阿江的asp探针测试了一下,“服务器CPU详情”和“服务器操做系统”根本查不到,内容为空白的。再用海洋测试Wsript.Shell来运行cmd命令也是提示Active没法建立对像。你们就均可以不再要为ASP***危害到服务器系统的安全而担扰了。   固然服务器安全远远不至这些,这里为你们介绍的仅仅是本人在处理ASP***、Webshell上的一些心得体会。在下一篇中将为你们介绍如何简简单单的防止别人在服务器上执行如net user之类的命令,防溢出类***获得cmdshell,以及执行添加用户、改NTFS设置权限到终端登陆等等的最简单有效的防范方法。