收藏本站 收藏本站
积木网首页 - 软件测试 - 常用手册 - 站长工具 - 技术社区
积木学院 > 安全防范 > 基础知识 > 正文

黑客攻防技术内幕-入侵者攻击方法(9)

来源:互联摘选 日期:2008-05-01 23:13
5.5 ASP漏洞攻击

    

5.5  ASP漏洞攻击

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

现在很多网站特别是电子商务方面的网站,在服务器上大都用ASP来实现。以至于现ASP在网站应用上很普遍。ASP是开发网站应用的快速工具,但是有些网站管理员只看到ASP的快速开发能力,却忽视了ASP安全问题。ASP从一开始就一直受到众多漏洞,后门程序的困扰,包括查看ASP源程序密码验证问题,IIS漏洞等等都一直使ASP网站开发人员心惊肉跳。

接下来将介绍几个常见的ASP漏洞,并给出解决方法和建议。

1. ASP程序后加个特殊符号,能看到ASP源程序

受影响的版本:IIS3.0

问题描述

这些特殊符号包括小数点,%81, ::$DATA。比如:

http://someurl/somepage.asp.

http:// someurl/somepage.asp%81

http:// someurl/somepage.asp::$DATA

http:// someurl/somepage.asp %2e

http:// someurl/somepage %2e%41sp

http:// someurl/somepage%2e%asp   

http:// someurl/somepage.asp %2e

http://someurl/msadc/samples/selector/showcode.asp?source=/msadc/samples/../../../../../../boot.ini(可以看到boot.ini的文件内容)

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

解决方法

如果是Winodws NT用户,可以安装IIS4.0或者IIS5.0(Windows2000不存在这个问题)。如果是Winows 95用户,安装Windows 98PWS4.0

2. code.asp文件会泄漏ASP代码

问题描述

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

code.asp?source=/directory/file.asp

不过这是个比较旧的漏洞了,相信现在很少会出现这种漏洞。下面这命令是比较新的:

http://someurl/iissamples/exair/howitworks/code.asp?/lunwen/soushuo.asp=xxx.asp

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

解决方法

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

3. IIS4或者IIS5中安装有Index Server服务会暴露ASP源程序

问题描述

在运行IIS4或者IIS5Index Server时输入特殊的字符格式可以看到ASP源程序或者其他页面的程序。甚至服务器添加了最新关于查看ASP源代码的补丁程序程序的系统,或者没有.htw文件的系统,一样存在该问题。被入侵者获得asp程序,甚至global.asa文件的源代码,无疑对系统是一个非常重大的安全隐患。往往这些代码中包含了用户密码和ID,以及数据库的源路径和名称等。这对于入侵者收集系统信息,进行下一步的入侵都是非常重要的。

通过构建下面的特殊程序可以参看该程序源代码:

http://202.116.26.38/null.htw?CiWebHitsFile=/default.asp&CiRestriction=none&CiHiliteType=Full

这样只是返回一些html格式的文件代码,但是当添加%20CiWebHitsFile的参数后面,如下:

http://someurl/null.htw?CiWebHitsFile=/default.asp%20&CiRestriction=none&CiHiliteType=Full

这将获得该程序的源代码。

注意:

/default.aspWeb的默认首页。如某站点的http:///welcome/welcome.asp

那么对应就是:

http://someurl/null.htw?CiWebHitsFile=/welcome/welcome.asp%20&CiRestriction=none&CiHiliteType=Full

null.htw文件并非真正的系统映射文件,只是一个储存在系统内存中的虚拟文件。哪怕已经从系统中删除了所有的真实的.htw文件,但是由于对null.htw文件的请求默认是由webhits.dll来处理,所以IIS仍然受到该漏洞的威胁。

解决方法

如果该Webhits提供的功能是系统必须的,请下载相应的补丁程序程序。如果没必要,请用IISMMC管理工具简单移除.htw的映象文件。

补丁程序程序如下:

Index Server 2.0:

Intel:

http://www.microsoft.com/downloads/release.asp?ReleaseID=17727

Alpha:

http://www.microsoft.com/downloads/release.asp?ReleaseID=17728

Indexing Services for Windows 2000:

Intel:

http://www.microsoft.com/downloads/release.asp?ReleaseID=17726

4. NT iss4.0_AuthChangeUrl? 漏洞

问题描述

NT iis4.0,当输入如下命令时:

http://someurl/_AuthChangeUrl?<font%20size=7%20color=red>你好

这时就会看到<font size=7 color=red>被解释成功,并出现了红色的放大的“你好”字。

如果再向服务器提交以下的命令:

http://someurl/_AuthChangeUrl?<img%20src=file:\\\c:\ffhh.jpg>

上面的命令将显示C:根目录下的ffhh.jpg图片,前提是ffhh.jpg存在。

http://someurl/_AuthChangeUrl?<a%20href=file:///c:/install.exe>

上面的命令将下载C:根目录下的install.exe文件。

按照这种方法还能打开对方服务器上一个已经知道的文本文件。

5. 绕过验证直接进入ASP页面

问题描述

如果用户知道了一个ASP页面的路径和文件名,而这个文件又是要经过验证才能进去的,所以用户直接输入这个ASP页面的文件名就有可能通过绕过验证。比如:在一些网站上进行这样的测试:首先关闭所有的浏览器窗口,然后输入:

http://someurl/system_search.asp?page=1

就样就可以看到只有系统员才能看到的页面。当然有些人为了防止这种情况也会在system_search.asp的开头加个判断,比如:判断session(system_name),如果不为空时就能进入,这样上面的URL请求就不能直接进入管理员页面了。但是这种方法也有一个漏洞,如果攻击者先用一个合法的账号,或者在本机上生成一个session,如session(system_name)=admi”,那因为session(system_name)不为空,这样也能绕过密码直接进入管理员页面。

解决方法

在需要验证的ASP页面开头处进行相应的处理。比如:在验证页面上可跟踪上一个页面的文件名,只有从上一页面转进来的会话才能读取这个页面。

推荐阅读

 

热点信息

 
强悍的草根IT技术社区,这里应该有您想要的! 友情链接:b2b电子商务
Copyright © 2010 Gimoo.Net. All Rights Rreserved  京ICP备05050695号