当ASP以其灵活、简单、实用、强大的特性迅速风靡全球网站的时候,其本身的一些缺陷、漏洞也正威胁着所有的网站开发者,继上一篇中介绍了一些IIS的系统漏洞及ASP的安全问题后,本期中将针对最新的ASP、IIS安全漏洞进行详细的探讨,请所有的ASP网站开发者密切关注,提高警惕。 cV_-Bcb
g \ou+M#
^~6gkS
}
本月初微软再次被指责对其出品的WEB服务器软件的安全问题不加重视。在微软的流行产品IIS iq^;c syKb
SEVER4.0中被发现存在一种被称为“非法HTR请求”的缺陷。据微软称,此缺陷在特定情况下会导致任意代码都可以在服务器端运行。但用发现这一漏洞的Internet安全公司eEye的CEO d @ l
Firas Bushnaq的话说:这只是冰山一角而已。Bushnaq说,微软隐瞒了些情况,比如黑客可以利用这一漏洞对IIS服务器进行完全的控制,而恰恰许多电子商务站点是基于这套系统的。 p L^3*B.Nr
`M. I.Z_
%<'.c9u5
6eA)d#
I6gduvkXi4
下面罗列出了该IIS系统漏洞的详细情况: YpRhl(|
GV28&!4sS
nR w f;K
Q1x15pVku/
IIS的最新安全漏洞 D;jbZ9
CS5[E-%}T=
-WR<tkK
2;J\Z=7
受影响的系统: 6V}xgfB
^".6~{
A zp!;+
ULgp]IS
Internet Information Server 4.0 (IIS4) {"2CI^!/U.
)[r=(6?n
lV$#>2Hh5
ckv8QAm
Microsoft Windows NT 4.0 SP3 Option Pack 4 [tElt4uG
^4Ff8Y
x8~*+ j
k g Rys
Microsoft Windows NT 4.0 SP4 Option Pack 4 OdNcuiLa
Zm7,O8
Cud!JpL
NV@$\<
Microsoft Windows NT 4.0 SP5 Option Pack 4 m6]6!_
%DA`.Z9#
9sd}Z,l
wO`G_!W9
公布日期:6.8.1999 rk@qcQR
8xG"hJR
e=eip?p
i}i>ho-8
microsoft已经证实了这个漏洞,但目前还没有提供可用的补丁程序。 9?~6{!m_9
rLA-q||
6l &!4r@}
98 ]pkqp4
&A`,hF8
微软安全公告 (MS99-019): Y(2Z<d
Jf\`?g3#
,"{e$|iY
V<;_wO^
主题:非正常的 HTR 请求 漏洞 0IA'5)
+dRRMyxe4
9zrTf%mF
[!8bjc]c
发布时间: 6.15.1999 SBf=d<j 1)
mV)t
IiE^HgM
DUH_LnHw)
摘要: Q9B!0G.-bs
Dhfor+Epy
6pfkv2.}
{XUSw8W'
微软已经证实在其发布的WEB服务器产品Internet Information Server kBk2mMZ
4.0中存在一个严重的系统漏洞,该漏洞导致对于IIS服务器的“服务拒绝攻击”,在这种情况下,可能导致任何2进制代码在服务器上运行。有关该漏洞的补丁将在近期发布,请所有IIS用户密切关注。 oDJ
&{N|
YnW9uy5
mFxt +\
H~SU:B:
?4Fev_5m
漏洞介绍: 5p5"3m;M7
e"XolM0IM
Wm5[+z|2?9
</?ef&
IIS支持多种需要服务器端处理的文件类型,譬如:ASP、ASA、IDC、HTR,当一个WEB用户从客户端请求此类文件时,相应的DLL文件将自动对其进行处理。然而在ISM.DLL这个负责处理HTR文件的文件中被发现存在严重的安全漏洞。(注:HTR文件本身是用来远程管理用户密码的) 8G|?R#&
m({q<&]Qp
q;IuV&B
该漏洞包含了一个在ISM.DLL中未经验证的缓冲,它可能对WEB服务器的安全运作造成两方面的威胁。首先,是来自服务拒绝攻击的威胁,一个来自非正常的对.HTR文件请求将导致缓存溢出,从而直接导致IIS崩溃,当这种情况发生时,无须重启服务器,但是IIS d6-q"
WEB Q2* 8c$
服务器必须重新启动。另一个威胁更令人头痛,通过使用一个精心构建过的文件请求将可以利用标准的缓存溢出手段导致2进制代码在服务器端运行,在这种情况下,什么都可能发生!该漏洞不包括提供用来管理用户密码的功能的.HTR文件。 pSIXv%1J
Wa.!eAe}
SW+;%+`
\Y!=O=za]
N'$P(
bx
原理分析: P4c3kO0
8>D*U0sNl
]#rV]As
E}a.qM'
至少在一个IIS的扩展名中(例如:ASP,IDC,HTR)存在溢出。我们推测溢出将在IIS把完整的URL传递给DLL去处理扩展名时发生。如果ISAPI OYn5k6
DLL 没有正确的检查限制范围从而导致INETINFO.EXE产生一个溢出,用户就从可以远端执行2进制代码。攻击方法:向IIS发一个如下的HTTP请求:GET RL/7>YQ
/[overflow].htr HTTP/1.0,IIS将崩溃。这里的[overflow]可以是3K长的代码。 ua &uR7
FeQo,a
_bg Zl
大家可能对.HTR文件不是很熟悉,其实IIS具有让NT用户通过WEB目录/iisadmpwd/更改自己的口令的能力。而这个功能正是由一组.HTR文件和ISAPI的一个扩展DLL: jVN=_Y}\
ISM.DLL实现的。当一个完整的URL传递到ISM.DLL时,由于没有适当的大小限制的检查,就会导致溢出产生,从而使得服务器崩溃。HTR/ISM.DLL GC3d7
ISAPI 是IIS4缺省安装。 Fm6]mz%~u#
`w8cV?
x!pd50-
)1R[X!KQ7
解决途径: ImH9 F\
0Q8iX)
g}K/ba'
(nuTfmt>
由于目前微软尚未发布可供使用的补丁程序,因此我们只能做一些应急的防范。 b&1hj[`)
"{H{-`Ni
4gdXO
nA.U'=`
4e;
le&
1、将.HTR扩展名从ISAPI DLL 的列表中删除 >r,z^]-
r<