如何防止ASP木马
ASP木马攻击原理一般是通过文件上传漏洞,传送木马文件到服务器里,然后运行就可以读取你系统里的所有资料了。一般的ASP木马文件是利用FSO组件进行操作的,也有不用FSO组件的。针对如上情况,要如何去防止ASP木马,就必须做好如下三方面:
1、服务器的权限设置
2、做好ASP程序的验证功能,防止有漏洞被利用
3、关闭或更改相关的组件名称
1,2两方面可以查阅创新网站的相关文章,在这里主要是说第3个方面
1)针对利用FSO写的ASP木马的防止办法是最好的防止方式是把FSO功能关掉
在开始--运行处输入:Regsvr32 /u c:\windows\system32\scrrun.dll
如果想再用该组件可以在运行处再输入
Regsvr32 c:\windows\system32\scrrun.dll 重新注册一下便可以用了。
网络上现在有些文章在说在
查找注册表中
HKEY_CLASSES_ROOT\Scripting.FileSystemObject 键值
将其更改成为你想要的字符串(右键-->"重命名"),比如更改成为
HKEY_CLASSES_ROOT\Scripting.FileSystemObject2
这样,在ASP就必须这样引用这个对象了:
Set fso = CreateObject("Scripting.FileSystemObject2")
而不能使用: Set fso = CreateObject("Scripting.FileSystemObject")
这种方法是行不通的,因为FSO除了用对象调用,还可以用调用classid
比如:<object runat="server" id="fso" scope="page"
classid="clsid:0D43FE01-F093-11CF-8940-00A0C9054228"></object>
这样也能调用
所以说要改的话还行查找0D43FE01-F093-11CF-8940-00A0C9054228这个键值,然后改掉,但是这样改完以后FSO也就不能用了。所以推荐还是把组件关掉,如果要上传的话可以自行编写一个上传组件。这样会安全一些。
(2)免FSO对像就能使用的ASP木马防范方法
通过上面的代码,我们可以看出这段代码的SHELL是通过shell.application 建立 shell 对像的,我们只要在注册表里查找键值shell.application,shell.application.1和 wscript.shell,wscript.shell.1 键值,然后把这些键值删除,就能防止这一类的ASP木马攻击了,删除这些键值对你的服务器及ASP支持等不会造成影响的,所以请放心删除。
各黑客网站上还有各种各样的WEBSHELL下载,除了ASP的WEBSHELL以外,还有CGI、PHP、JSP的等等。基本上都是大同小异的,还有一些WEBSHELL是调用系统下的CMD.EXE命令运行的。但这些调用服务器系统CMD.EXE的WEBSHELL木马在Win2003下没法运行了,能调用CMD.EXE命令的WEBSHELL只在Win2K下测试通过,在Win2003下,那些ASP、CGI、PHP、JSP的WEBSHELL已经不能调用CMD.EXE的命令了。原因很简单,因为Win2K下的CMD.EXE命令在默认情况下是能以匿名及来宾权限访问的,而Win2003系统下,CMD.EXE命令却禁止了“Everyone”匿名访问及“Guests”组的访问权限了,所以各种调用CMD.EXE的WEBSHELL木马都没法运行了,这也算是Win2003系统安全上的一点进步吧。
当然第个对像都有相应的classid值,一样找出来进行删除
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)
adodb.stream (classid:{00000566-0000-0010-8000-00aa006d2ea4})
经过如上处理后,哪怕是有ASP木马传到你的服务器,也能阻止它的一些破坏行为。
补充:asp教程,高级应用