当ASP以其灵活、简单、实用、强大的特性迅速风靡全球网站的时候,其本身的一些缺陷、漏洞也正威胁着所有的网站开发者,继上一篇中介绍了一些IIS的系统漏洞及ASP的安全问题后,本期中将针对最新的ASP、IIS安全漏洞进行详细的探讨,请所有的ASP网站开发者密切关注,提高警惕。
sfx:j~bsL
4F/Q0" lQ@2s[ 本月初微软再次被指责对其出品的WEB服务器软件的安全问题不加重视。在微软的流行产品IIS
c~p4M64 SEVER4.0中被发现存在一种被称为“非法HTR请求”的缺陷。据微软称,此缺陷在特定情况下会导致任意代码都可以在服务器端运行。但用发现这一漏洞的Internet安全公司eEye的CEO
{-H6Z#b[ Firas Bushnaq的话说:这只是冰山一角而已。Bushnaq说,微软隐瞒了些情况,比如黑客可以利用这一漏洞对IIS服务器进行完全的控制,而恰恰许多电子商务站点是基于这套系统的。
GXa-g-d "bRck88V 8sE@?, uGgR@+7?Z HSyohP8 7 下面罗列出了该IIS系统漏洞的详细情况:
}>SHTHVye WtdWD_\%Y\ #Mi>f4T; \Q]2Zq IIS的最新安全漏洞
1 aIJ0#nE TVYO`9:CW 27gK
Y
Zf; +|\dVe. 受影响的系统:
*p +%&z_< skr^m%W 670g|&v. Pgb<;c:4 Internet Information Server 4.0 (IIS4)
1P&c:n O'o` QIGMP=!j ;clF\K> Microsoft Windows NT 4.0 SP3 Option Pack 4
]yA|
m3^2 :MpIx& !*N#}6Jd q1Ah!9B Microsoft Windows NT 4.0 SP4 Option Pack 4
N#Y4nllJ P|c79 _ 4pBJOJQ6 CShVJ:u+K\ Microsoft Windows NT 4.0 SP5 Option Pack 4
\O`B@!da~ hE+6z%A8 w#]%I+ mG\,T3/* 公布日期:6.8.1999
.#Z}}W# ^D"}OQoh s+^YGB mJ[LmQ<: microsoft已经证实了这个漏洞,但目前还没有提供可用的补丁程序。
'V .4Nhd 5"k_Ms7R, N%n#mV; if
r!ha+8! Nmns3D 微软安全公告 (MS99-019):
}8 fG+H. ]MRE^Je\h 8K7zh.E $]!uX& 主题:非正常的 HTR 请求 漏洞
}[$ C=|> 5c`DkWne% v~uQ_ae$> "\]kK@, 发布时间: 6.15.1999
`)!)}PXl @D Qg1|m :>;-uve8' /w`{]Ntgu 摘要:
C
KBLM2D kjJ\7x6M rN8 ZQiJC F[ m^(x 微软已经证实在其发布的WEB服务器产品Internet Information Server
i8+kc_8#d 4.0中存在一个严重的系统漏洞,该漏洞导致对于IIS服务器的“服务拒绝攻击”,在这种情况下,可能导致任何2进制代码在服务器上运行。有关该漏洞的补丁将在近期发布,请所有IIS用户密切关注。
tihb38gE X Oc0j9Oa *!Vic#D% A<QYW,:| )k- 7mwkZ 漏洞介绍:
TdG[b1xN
u7<B*d: `{<2{}2M C<eeAWP3v IIS支持多种需要服务器端处理的文件类型,譬如:ASP、ASA、IDC、HTR,当一个WEB用户从客户端请求此类文件时,相应的DLL文件将自动对其进行处理。然而在ISM.DLL这个负责处理HTR文件的文件中被发现存在严重的安全漏洞。(注:HTR文件本身是用来远程管理用户密码的)
w[UPoG #Uh ;9/6X#;$ .9S 该漏洞包含了一个在ISM.DLL中未经验证的缓冲,它可能对WEB服务器的安全运作造成两方面的威胁。首先,是来自服务拒绝攻击的威胁,一个来自非正常的对.HTR文件请求将导致缓存溢出,从而直接导致IIS崩溃,当这种情况发生时,无须重启服务器,但是IIS
s=u0M;A0Q WEB
YLJH?=2@ 服务器必须重新启动。另一个威胁更令人头痛,通过使用一个精心构建过的文件请求将可以利用标准的缓存溢出手段导致2进制代码在服务器端运行,在这种情况下,什么都可能发生!该漏洞不包括提供用来管理用户密码的功能的.HTR文件。
O"nY4 LX!16a@SxA \bZbz/+D M
+~guTh o#4Wn'E 原理分析:
VEd\* LPvyfD;Zy *.~hn5Y|? av&dGsFP 至少在一个IIS的扩展名中(例如:ASP,IDC,HTR)存在溢出。我们推测溢出将在IIS把完整的URL传递给DLL去处理扩展名时发生。如果ISAPI
9Or3X/:o DLL 没有正确的检查限制范围从而导致INETINFO.EXE产生一个溢出,用户就从可以远端执行2进制代码。攻击方法:向IIS发一个如下的HTTP请求:GET
!s9<%bp3 /[overflow].htr HTTP/1.0,IIS将崩溃。这里的[overflow]可以是3K长的代码。
w1h07_u;v "u3 >/ECLP 大家可能对.HTR文件不是很熟悉,其实IIS具有让NT用户通过WEB目录/iisadmpwd/更改自己的口令的能力。而这个功能正是由一组.HTR文件和ISAPI的一个扩展DLL:
=3 }@\f# ISM.DLL实现的。当一个完整的URL传递到ISM.DLL时,由于没有适当的大小限制的检查,就会导致溢出产生,从而使得服务器崩溃。HTR/ISM.DLL
{y)s85:t ISAPI 是IIS4缺省安装。
Bm;{dO :DR
G=-M rX{QgyY&
(3&@c!E 解决途径:
)p).}" [`yiD> b'St14_ o>\j c 由于目前微软尚未发布可供使用的补丁程序,因此我们只能做一些应急的防范。
Qf$0^$ " $Vlfg51 ob %]nLCoQh hSQP
'6 |^^;v| 1、将.HTR扩展名从ISAPI DLL 的列表中删除
jgVra* XCDHd
?Ld plv"/K JM tQF7{F-} 在你的NT桌面上,点击“开始”—>“程序”—>“Windows NT
k$7-F3 4.0 Option Pack”—>“Microsoft Internet Information Server”—>“Internet
jCtl
] 服务管理器”;双击“Internet Information Server”;鼠标右键单击计算机名称并选择“属性”;在“主属性”下拉式菜单中选择“WWW服务”并点击“编辑”按钮;选择“主目录”文件夹,并点击“配置”按钮,在“应用程序映射”列表框中选中.HTR的相关映射,选择“删除”,并确定。
r9yUye} q;}^Jpb; 8L|rj4z<# 7'xT)~*$4 7"Zr:|$U 2、安装微软提供的补丁程序,请密切关注以下网址
O HR9u V89!C?.[]1 Q{0-pHr} ZL+{?1&- http://www.microsoft.com/security Wu2#r\
J<H$B +;qR m Wsegq4 #z6RzZu http://www.microsoft.com/security/products/iis/CheckList.asp {o*z iZh R5H
UgI v}M, M&? G$xuHHZ' 可能一些朋友会感到不解,为什么我在ASP篇17、18期连续利用两大篇幅着重讨论IIS、ASP的安全性问题,如果你是一个WEB开发者、ASP程序员,我想你就应该能够体会我的用意。我们进行网络编程、开发交互性的网站,当然首先是为了发展、建设自身网站,但是这一些都是建立在安全的基础上,这里的安全包括对自己辛辛苦苦开发的ASP或其他网络应用程序代码的保护、确保网站服务器安全正常的运行、确保用户信息的安全及认证等等,当今后电子商务成为真正广泛运作的一种商务运行手段后,安全性更是关键之关键。我们中的很多朋友在作为ASP程序员的同时又身兼网络管理员的职责,因此熟悉系统的运作、及时了解系统漏洞、第一时间解决安全性问题就显得十分重要和必要,因此在本文的结尾,作者将整理的一些关于NT、IIS系统配置的安全性建议罗列出来,希望能给大家一些帮助。
i('z~ a+{YTR>0m (|I0C 'Ki ;^=eiurv CDO_A \ 1、使用最新版本的Microsoft Internet Information Server4.0,并安装NT最新版本的Service
[f:>tRdH Pack5,服务器的文件系统不要使用FAT,应该使用NTFS。
}V ;PaX 'B8fc-n +)qPUKb? ad&Mk^p 2、把IIS中的sample、scripts、iisadmin和msadc等web目录设置为禁止匿名访问并限制IP地址。在微软还没有提供补丁之前,把ism.dll有关的应用程序映射删除。
oB&s