xfocus logo xfocus title
首页 焦点原创 安全文摘 安全工具 安全漏洞 焦点项目 焦点论坛 关于我们
English Version

IIS ISM.DLL 输入缓冲区截断缺陷


发布时间:2000-09-15
更新时间:2000-08-15
严重程度:
威胁程度:远程非授权文件存取
错误类型:输入验证错误
利用方式:服务器模式

受影响系统
IIS4.0-5.0
详细描述
Cerberus 安全小组发现微软的IIS 4/5存在一个缺陷,允许攻击者访问那些本来无权访问的文件。比如/scripts目录下的文本文件(.txt、.log、.ini)通常是不可访问的,因为这个虚拟目录只有执行权限。利用这个缺陷,就有可能访问得到这些文本文件的内容。 通过给IIS提供一个特殊格式的请求,有可能获得这些文件的内容。提供一个请求,文件名后跟随大约230个空格(+或者%20),以.htr做后缀,于是IIS认为客户端正在请求一个.htr文件。.htr扩展文件被映射成 ISM.DLL ISAPI 应用程序,IIS会重定向所有针对.htr资源的请求到 ISM.DLL ,ISM.DLL 打开这个文件并执行之。 但是在这样做之前,ISM.DLL 会截断送给自己的缓冲区内容,去掉.htr后缀以及结尾的空格,于是我们想访问的文件内容被返回。这种攻击只能进行一次,直到WWW服务重启,将无法进行第二次攻击。此外,如果已经提交过一个.htr请求给目标主机,攻击也会失败。这个缺陷仅仅在 ISM.DLL 被调入内存后的第一时刻有效。

测试代码
请参看如下的建议:

http://www.cerberus-infosec.co.uk/advisories.html

解决方案
如果你不想使用 ISM.DLL 提供的功能,最好不要映射 .htr 扩展文件成 ISM.DLL ISAPI 应用程序。右击计算机名,编辑主WEB属性。如果你一定要使用 ISM.DLL 提供的功能,可以从微软获取一个补丁: http://www.microsoft.com/technet/security/bulletin/ms00-031.asp

相关信息