此网站为Newar技术博客模板演示网站,此处文字请后台 系统基本参数-站点设置 修改!
当前位置:主页 > Cms文章 > 正文

asp后门脚本

03-01 Cms文章

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部Microsoft Active Server Pages(ASP)是服务器端脚本编写环境,使用它可以创建和运行动态、交互的 Web 服务器应用程序。使用 ASP 可以组合 HTML 页 、脚本命令和 ActiveX 组件以创建交互的 Web 页和基于 Web 的功能强大的应用程序。

  现在很多网站特别是电子商务方面的网站,在前台上大都用ASP来实现。以至于现在ASP在网站应用上很普遍。

  ASP是开发网站应用的快速工具,但是有些网站管理员只看到ASP的快速开发能力,却忽视了ASP安全问题。ASP从一开始就一直受到众多漏洞,后门的困扰,包括%81的噩梦,密码验证问题,IIS漏洞等等都一直使ASP网站开发人员心惊胆跳。

  本文试图从开放了ASP服务的操作系统漏洞和ASP程序本身漏洞,阐述ASP安全问题,并给出解决方法或者建议。

  Active Server Page技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看ASP是怎么工作的。ASP脚本是采用明文(plain text)方式来编写的。

  ASP脚本是一系列按特定语法(目前支持vbscript和jscript两种脚本语言)编写的,与标准HTML页面混合在一起的脚本所构成的文本格式的文件。当客户端的最终用户用WEB浏览器通过INTERNET来访问基于ASP脚本的应用时,WEB浏览器将向WEB服务器发出HTTP请求。WEB服务器分析、判断出该请求是ASP脚本的应用后,自动通过ISAPI接口调用ASP脚本的解释运行引擎(ASP.DLL)。ASP.DLL将从文件系统或内部缓冲区获取指定的ASP脚本文件,接着就进行语法分析并解释执行。最终的处理结果将形成HTML格式的内容,通过WEB服务器原路返回给WEB浏览器,由WEB浏览器在客户端形成最终的结果呈现。这样就完成了一次完整的ASP脚本调用。若干个有机的ASP脚本调用就组成了一个完整的ASP脚本应用。

  WINDOWS NT Option Pack所带的Microsoft IIS提供了强大的功能,但是IIS在网络安全方面却是比较危险的。因为很少有人会用Windows 95/98当服务器,因此本文我更多的从NT中的IIS安全问题来探讨。

  虽然我们本文的重点是探讨ASP漏洞和后门,但是有必要谈谈ASP在网络安全方面的优点,之所以加个,是因为有时这些微软宣称的优点恰恰是其安全隐犯。微软称ASP在网络安全方面一大优点就是用户不能看到ASP的源程序,

  从ASP的原理上看,ASP在服务端执行并解释成标准的HTML语句,再传送给客户端浏览器。屏蔽源程序能很好的维护ASP开发人员的版权,试想你辛辛苦苦做了一个很优秀的程序,给人任意COPY,你会怎么想?而且黑客还能分析你的ASP程序,挑出漏洞。更重要的是有些ASP开发者喜欢把密码,有特权的用户名和路径直接写在程序中,这样别人通过猜密码,猜路径,很容易找到攻击系统的入口。但是目前已经发现了很多能查看ASP源程序的漏洞,后面我们还要讨论。

  IIS支持虚拟目录,通过在服务器属性对话框中的目录标签可以管理虚拟目录。建立虚拟目录对于管理WEB站点具有非常重要的意义。虚拟目录隐藏了有关站点目录结构的重要信息。因为在浏览器中,客户通过选择查看源代码,很容易就能获取页面的文件路径信息,如果在WEB页中使用物理路径,将暴露有关站点目录的重要信息,这容易导致系统受到攻击。其次,只要两台机器具有相同的虚拟目录,你就可以在不对页面代码做任何改动的情况下,将WEB页面从一台机器上移到另一台机器。还有就是,当你将WEB页面放置于虚拟目录下后,你可以对目录设置不同的属性,如:Read、Excute、Script。读访问表示将目录内容从IIS传递到浏览器。而执行访问则可以使在该目录内执行可执行的文件。当你需要使用ASP时,就必须将你存放.asp文件的目录设置为Excute(执行)。建议大家在设置WEB站点时,将HTML文件同ASP文件分开放置在不同的目录下,然后将HTML子目录设置为读,将ASP子目录设置为执行,这不仅方便了对WEB的管理,而且最重要的提高了ASP程序的安全性,防止了程序内容被客户所访问。

  有人说一台不和外面联系的电脑是最安全的电脑,一个关闭所有端口,不提供任何服务的电脑也是最安全的。黑客经常利用我们所开放的端口实施攻击,这些攻击最常见的是DDOS(拒绝服务攻击).下面我会列出ASP的二十几个漏洞,每个漏洞都会有漏洞描述和解决方法。

  那么在安装有IIS3.0和win95+PWS的浏览中就很容易看到somepage.asp的源程序。究竟是什么原因造成了这种可怕的漏洞呢?究其根源其实是 Windows NT 特有的文件系统在做怪。有一点常识的人都知道在 NT 提供了一种完全不同于 FAT 的文件系统:NTFS,这种被称之为新技术文件系统的技术使得 NT 具有了较高的安全机制,但也正是因为它而产生了不少令人头痛的隐患。大家可能不知道, NTFS 支持包含在一个文件中 的多数据流,而这个包含了所有内容的主数据流被称之为DATA,因此使得在浏览器 里直接访问 NTFS 系统的这个特性而轻易的捕获在文件中的脚本程序成为了可能。然而 直接导致 :: 的原因是由于 IIS 在解析文件名的时候出了问题,它没有很好地规范文件名。

  在用ACCESS做后台数据库时,如果有人通过各种方法知道或者猜到了服务器的ACCESS数据库的路径和数据库名称,那么他能够下载这个ACCESS数据库文件,这是非常危险的。比如:如果你的ACCESS数据库book.mdb放在虚拟目录下的database目录下,那么有人在浏览器中打入:

  如果你的book.mdb数据库没有事先加密的话,那book.mdb中所有重要的数据都掌握在别人的手中。

  (1) 为你的数据库文件名称起个复杂的非常规的名字,并把他放在几目录下。所谓非常规,打个比方:比如有个数据库要保存的是有关书籍的信息,可不要把他起个book.mdb的名字,起个怪怪的名称,比如d34ksfslf.mdb,再把他放在如./kdslf/i44/studi/ 的几层目录下,这样黑客要想通过猜的方式得到你的ACCESS数据库文件就难上加难了。

  假如万一给人拿到了源程序,你的ACCESS数据库的名字就一览无余。因此建议你在ODBC里设置数据源,再在程序中这样写:conn.open shujiyuan

  (3)使用ACCESS来为数据库文件编码及加密。首先在选取工具-安全-加密/解密数据库,选取数据库(如:employer.mdb),然后接确定,接着会出现数据库加密后另存为的窗口,存为:employer1.mdb。接着employer.mdb就会被编码,然后存为employer1.mdb..要注意的是,以上的动作并不是对数据库设置密码,而只是对数据库文件加以编码,目的是为了防止他人使用别的工具来查看数据库文件的内容。

  接下来我们为数据库加密,首先以打开经过编码了的employer1.mdb,在打开时,选择独占方式。然后选取功能表的工具-安全-设置数据库密码,接着输入密码即可。为employer1.mdb设置密码之后,接下来如果再使用ACCEES数据库文件时,则ACCESS会先要求输入密码,验证正确后才能够启动数据库。不过要在ASP程序中的connection对象的open方法中增加PWD的参数即可,例如:

  举个很简单的例子,在微软提供的 ASP1.0 的例程里有一个 .asp 文件 ,专门用来查看其它 .asp 文件的源代码,该文件为 ASPSamp/Samples/code.asp。如果有人把这个程序上传到服务器,而服务器端没有任何防范措施的话,他就可以很容易地查看他人的程序。例如 :

  最大的危害莫过于asa文件可以被上述方式读出;数据库密码以明文形式暴露在黑客眼前;

  对于IIS自带的show asp code的asp程序文件,删除该文件或者禁止访问该目录即可

  IIS3、 IIS4 的 ASP 的文件操作都可以通过 filesystemobject 实现,包括文本文件的读写目录操作、文件的拷贝改名删除等,但是这个强大的功能也留下了非常危险的 后门。利用 filesystemobjet 可以篡改下载 fat 分区上的任何文件。即使是 ntfs 分区,如果权限没有设定好的话,同样也能破坏,一不小心你就可能遭受灭顶之灾 。遗憾的是很多 webmaster 只知道让 web 服务器运行起来,很少对 ntfs 进行权限 设置,而 NT 目录权限的默认设置偏偏安全性又低得可怕。因此,如果你是 Webmaster ,建议你密切关注服务器的设置,尽量将 web 目录建在 ntfs 分区上,目录不要设定 everyone full control,即使是是管理员组的成员一般也没什么必要 full control,只要有读取、更改权限就足够了。 也可以把filesystemobject的组件删除或者改名。

  如果你的ASP程序中没有屏蔽html语句,那么就会改变你好字体的大小。在留言本中改变字体大小和贴图有时并不是什么坏事,反而可以使留言本生动。但是如果在输入框中写个 javascript 的死循环,比如:特大新闻

  那么其他查看该留言的客人只要移动鼠标到特大新闻,上就会使用户的浏览器因死循环而死掉。

  编写类似程序时应该做好对此类操作的防范,譬如可以写一段程序判断客户端的输入,并屏蔽掉所有的 HTML、 Javascrip老兄我要的是asp源代码(编写的后门程序) vbscrip为脚本编写的

版权保护: 本文由 主页 原创,转载请保留链接: http://www.wzctc.com/cms/352.html

博客主人YeLongCu
男,文化程度不高性格有点犯二,已经20来岁至今未婚,闲着没事喜欢研究各种代码,资深技术宅。
  • 文章总数
  • 44677访问次数
  • 建站天数
  • 标签