当ASP以其灵活、简单、实用、强大的特性迅速风靡全球网站的时候,其本身的一些缺陷、漏洞也正威胁着所有的网站开发者,继上一篇中介绍了一些IIS的系统漏洞及ASP的安全问题后,本期中将针对最新的ASP、IIS安全漏洞进行详细的探讨,请所有的ASP网站开发者密切关注,提高警惕。
=_iYT044p N~IAm:G}[ 0 V]MAuD($ 本月初微软再次被指责对其出品的WEB服务器软件的安全问题不加重视。在微软的流行产品IIS
DbB<8$ SEVER4.0中被发现存在一种被称为“非法HTR请求”的缺陷。据微软称,此缺陷在特定情况下会导致任意代码都可以在服务器端运行。但用发现这一漏洞的Internet安全公司eEye的CEO
\b"|p%CL8 Firas Bushnaq的话说:这只是冰山一角而已。Bushnaq说,微软隐瞒了些情况,比如黑客可以利用这一漏洞对IIS服务器进行完全的控制,而恰恰许多电子商务站点是基于这套系统的。
)4s7,R !v=/f_6 @&&}J !\d~9H%`B ^>!&]@ 下面罗列出了该IIS系统漏洞的详细情况:
*S}CiwW>/ )m8Gbkj< ar,v/l>d4N 0F![<5X IIS的最新安全漏洞
qNHI$r' l<4P">M!. N}NKQ]= %3TioM[B 受影响的系统:
tWzB Qx Cg~1<J?2 oq,nfUA ni2 [K` Internet Information Server 4.0 (IIS4)
I0Allw[ fJ5mKN y4|<+9<7 ^'tT_
gT Microsoft Windows NT 4.0 SP3 Option Pack 4
>@cBDS<6R `uk=2k}&m GYb&'#F~t fK]%*i_" Microsoft Windows NT 4.0 SP4 Option Pack 4
cpw=2vnD ;Gn>W+Ae
M mOHOv61
pCo3%( Microsoft Windows NT 4.0 SP5 Option Pack 4
6'e^np YIZu{ <A|z -bdWG]w" 公布日期:6.8.1999
m;rr7{7X fibudkg'> ^q/$a2<4 X 5}=|%Y microsoft已经证实了这个漏洞,但目前还没有提供可用的补丁程序。
)CE]s)6+2 !O`j 8mRZ(B>% X oHv.EO >?ar 微软安全公告 (MS99-019):
q "T? 3dbaCusT$
: *[mvF 4
$Kzh 主题:非正常的 HTR 请求 漏洞
._A4: &J|I&p 2-ksr}: =L1%gQJJ& 发布时间: 6.15.1999
)!E: L;vglS=l; cmU0=js. BQ[R)o 摘要:
`W_&^>yl 9ei'oZ \h s7>5O^K -}sMOy` 微软已经证实在其发布的WEB服务器产品Internet Information Server
XY9%aT* 4.0中存在一个严重的系统漏洞,该漏洞导致对于IIS服务器的“服务拒绝攻击”,在这种情况下,可能导致任何2进制代码在服务器上运行。有关该漏洞的补丁将在近期发布,请所有IIS用户密切关注。
$0P16ZlPC D$H&^,?N cGevFlnh h83;}> 'u\my 漏洞介绍:
|C \%H R zyznFiE zL1*w@6 "kLu]M< IIS支持多种需要服务器端处理的文件类型,譬如:ASP、ASA、IDC、HTR,当一个WEB用户从客户端请求此类文件时,相应的DLL文件将自动对其进行处理。然而在ISM.DLL这个负责处理HTR文件的文件中被发现存在严重的安全漏洞。(注:HTR文件本身是用来远程管理用户密码的)
<Ae1YHUY :'L^zGf MH"{N
"| 该漏洞包含了一个在ISM.DLL中未经验证的缓冲,它可能对WEB服务器的安全运作造成两方面的威胁。首先,是来自服务拒绝攻击的威胁,一个来自非正常的对.HTR文件请求将导致缓存溢出,从而直接导致IIS崩溃,当这种情况发生时,无须重启服务器,但是IIS
(&25 8i, WEB
{^r8uKo:~ 服务器必须重新启动。另一个威胁更令人头痛,通过使用一个精心构建过的文件请求将可以利用标准的缓存溢出手段导致2进制代码在服务器端运行,在这种情况下,什么都可能发生!该漏洞不包括提供用来管理用户密码的功能的.HTR文件。
q8 j
W&_ *PXlbb CXb-{|I}d -,M*j| M^i^_}~S; 原理分析:
;1S~'B&1Q 52*9q! EJd l%j #HMJBQ4v# 至少在一个IIS的扩展名中(例如:ASP,IDC,HTR)存在溢出。我们推测溢出将在IIS把完整的URL传递给DLL去处理扩展名时发生。如果ISAPI
F,t
,Ja DLL 没有正确的检查限制范围从而导致INETINFO.EXE产生一个溢出,用户就从可以远端执行2进制代码。攻击方法:向IIS发一个如下的HTTP请求:GET
Fk:yj 4' /[overflow].htr HTTP/1.0,IIS将崩溃。这里的[overflow]可以是3K长的代码。
%gF; A* !>~W5c^ Orb('Z,-3 大家可能对.HTR文件不是很熟悉,其实IIS具有让NT用户通过WEB目录/iisadmpwd/更改自己的口令的能力。而这个功能正是由一组.HTR文件和ISAPI的一个扩展DLL:
b(hnou S ISM.DLL实现的。当一个完整的URL传递到ISM.DLL时,由于没有适当的大小限制的检查,就会导致溢出产生,从而使得服务器崩溃。HTR/ISM.DLL
WUVRwJ 5 ISAPI 是IIS4缺省安装。
5h"moh9tG : ryE`EhB Im
NTk -~nU&$ccL 解决途径:
Hs%;uyI@$ ])d_B\)Kck j%2l%Mx( px@:t} 由于目前微软尚未发布可供使用的补丁程序,因此我们只能做一些应急的防范。
q,#j
* [D]9M"L,vQ HFJna2B` 3DNw=Ic0k On[:]# 1、将.HTR扩展名从ISAPI DLL 的列表中删除
~Rs_ep'+Q2 rf2+~B{$, y7K&@Y _\HMF 在你的NT桌面上,点击“开始”—>“程序”—>“Windows NT
8\z5* IPGs 4.0 Option Pack”—>“Microsoft Internet Information Server”—>“Internet
K$S:V=y%r7 服务管理器”;双击“Internet Information Server”;鼠标右键单击计算机名称并选择“属性”;在“主属性”下拉式菜单中选择“WWW服务”并点击“编辑”按钮;选择“主目录”文件夹,并点击“配置”按钮,在“应用程序映射”列表框中选中.HTR的相关映射,选择“删除”,并确定。
8Ol#-2>k$ SF$]{
X -P;_j,~U -&PiD *z2G(Uac 2、安装微软提供的补丁程序,请密切关注以下网址
bB|UQaCl c:
/Wk `+IB;G1 6g/ <FM http://www.microsoft.com/security 2>l
=oXq LX%K*nlj J 3oEN'8S ubC(%Y_k http://www.microsoft.com/security/products/iis/CheckList.asp <