第十九课:最新的ASP、IIS安全漏洞

当ASP以其灵活、简单、实用、强大的特性迅速风靡全球网站的时候,其本身的一些缺陷、漏洞也正威胁着所有的网站开发者,继上一篇中介绍了一些IIS的系统漏洞及ASP的安全问题后,本期中将针对最新的ASP、IIS安全漏洞进行详细的探讨,请所有的ASP网站开发者密切关注,提高警惕。

  本月初微软再次被指责对其出品的WEB服务器软件的安全问题不加重视。在微软的流行产品IIS SEVER4.0中被发现存在一种被称为“非法HTR请求”的缺陷。据微软称,此缺陷在特定情况下会导致任意代码都可以在服务器端运行。但用发现这一漏洞的Internet安全公司eEye的CEO Firas Bushnaq的话说:这只是冰山一角而已。Bushnaq说,微软隐瞒了些情况,比如黑客可以利用这一漏洞对IIS服务器进行完全的控制,而恰恰许多电子商务站点是基于这套系统的。
   下面罗列出了该IIS系统漏洞的详细情况:

   IIS的最新安全漏洞

   受影响的系统:

   Internet Information Server 4.0 (IIS4)

   Microsoft Windows NT 4.0 SP3 Option Pack 4

   Microsoft Windows NT 4.0 SP4 Option Pack 4

   Microsoft Windows NT 4.0 SP5 Option Pack 4

   公布日期:6.8.1999

   microsoft已经证实了这个漏洞,但目前还没有提供可用的补丁程序。

   微软安全公告 (MS99-019):

   主题:"非正常的 HTR 请求" 漏洞

   发布时间: 6.15.1999

  摘要:

  微软已经证实在其发布的WEB服务器产品Internet Information Server 4.0中存在一个严重的系统漏洞,该漏洞导致对于IIS服务器的“服务拒绝攻击”,在这种情况下,可能导致任何2进制代码在服务器上运行。有关该漏洞的补丁将在近期发布,请所有IIS用户密切关注。

  漏洞介绍:

  IIS支持多种需要服务器端处理的文件类型,譬如:ASP、ASA、IDC、HTR,当一个WEB用户从客户端请求此类文件时,相应的DLL文件将自动对其进行处理。然而在ISM.DLL这个负责处理HTR文件的文件中被发现存在严重的安全漏洞。(注:HTR文件本身是用来远程管理用户密码的)

  该漏洞包含了一个在ISM.DLL中未经验证的缓冲,它可能对WEB服务器的安全运作造成两方面的威胁。首先,是来自服务拒绝攻击的威胁,一个来自非正常的对.HTR文件请求将导致缓存溢出,从而直接导致IIS崩溃,当这种情况发生时,无须重启服务器,但是IIS WEB 服务器必须重新启动。另一个威胁更令人头痛,通过使用一个精心构建过的文件请求将可以利用标准的缓存溢出手段导致2进制代码在服务器端运行,在这种情况下,什么都可能发生!该漏洞不包括提供用来管理用户密码的功能的.HTR文件。

  原理分析:

  至少在一个IIS的扩展名中(例如:ASP,IDC,HTR)存在溢出。我们推测溢出将在IIS把完整的URL传递给DLL去处理扩展名时发生。如果ISAPI DLL 没有正确的检查限制范围从而导致INETINFO.EXE产生一个溢出,用户就从可以远端执行2进制代码。攻击方法:向IIS发一个如下的HTTP请求:"GET /[overflow].htr HTTP/1.0",IIS将崩溃。这里的[overflow]可以是3K长的代码。

  大家可能对.HTR文件不是很熟悉,其实IIS具有让NT用户通过WEB目录/iisadmpwd/更改自己的口令的能力。而这个功能正是由一组.HTR文件和ISAPI的一个扩展DLL: ISM.DLL实现的。当一个完整的URL传递到ISM.DLL时,由于没有适当的大小限制的检查,就会导致溢出产生,从而使得服务器崩溃。HTR/ISM.DLL ISAPI 是IIS4缺省安装。

  解决途径:

  由于目前微软尚未发布可供使用的补丁程序,因此我们只能做一些应急的防范。

  1、将.HTR扩展名从ISAPI DLL 的列表中删除

  在你的NT桌面上,点击“开始”—>“程序”—>“Windows NT 4.0 Option Pack”—>“Microsoft Internet Information Server”—>“Internet 服务管理器”;双击“Internet Information Server”;鼠标右键单击计算机名称并选择“属性”;在“主属性”下拉式菜单中选择“WWW服务”并点击“编辑”按钮;选择“主目录”文件夹,并点击“配置”按钮,在“应用程序映射”列表框中选中.HTR的相关映射,选择“删除”,并确定。

   2、安装微软提供的补丁程序,请密切关注以下网址

   http://www.microsoft.com/security

   http://www.microsoft.com/security/products/iis/CheckList.asp

 可能一些朋友会感到不解,为什么我在ASP篇17、18期连续利用两大篇幅着重讨论IIS、ASP的安全性问题,如果你是一个WEB开发者、ASP程序员,我想你就应该能够体会我的用意。我们进行网络编程、开发交互性的网站,当然首先是为了发展、建设自身网站,但是这一些都是建立在安全的基础上,这里的安全包括对自己辛辛苦苦开发的ASP或其他网络应用程序代码的保护、确保网站服务器安全正常的运行、确保用户信息的安全及认证等等,当今后电子商务成为真正广泛运作的一种商务运行手段后,安全性更是关键之关键。我们中的很多朋友在作为ASP程序员的同时又身兼网络管理员的职责,因此熟悉系统的运作、及时了解系统漏洞、第一时间解决安全性问题就显得十分重要和必要,因此在本文的结尾,作者将整理的一些关于NT、IIS系统配置的安全性建议罗列出来,希望能给大家一些帮助。

  1、使用最新版本的Microsoft Internet Information Server4.0,并安装NT最新版本的Service Pack5,服务器的文件系统不要使用FAT,应该使用NTFS。

  2、把IIS中的sample、scripts、iisadmin和msadc等web目录设置为禁止匿名访问并限制IP地址。在微软还没有提供补丁之前,把ism.dll有关的应用程序映射删除。

  3、有条件的话就采用防火墙机制,最简单的如web服务开在前台,目录放在后台,如果能一个服务一台机当然最好。

  4、Web目录,CGI目录,scripts目录和winnt目录等重要目录要用NTFS的特性设置详细的安全权限,包含注册表信息的Winnt目录只允许管理员完全控制,一般的用户只读的权限也不要给。凡是与系统有关的重要文件,除了Administrator,其它帐号都应该设置为只读权限,而不是everyone/完全控制 。

  5、只开你需要的服务,block掉所有不应该打开的端口,如NetBios端口139,这是一个典型的危险端口;怎样禁止这些端口?除了使用防火墙外,NT的Tcp/IP设置里面也提供了这种功能:打开控制面板-网络-协议-TCP/IP-属性-高级-启用安全机制-配置,这里面提供了TCP和UDP端口的限制和IP协议的限制功能。

  6、管理员的帐号要设置得复杂一些,建议加入特殊字符。

  7、把FTP,Telnet的TCP端口改为非标准端口,通常我都是设置到10000~65000的范围

  8、删除可以删除的所有共享,包括打印机共享和隐藏的共享如ICP$,Admin$等,微软说这些特殊共享资源很重要,大多数情况下不能删除,而实际上放在Internet上的机器大多数不需要共享。

  IPC$: 适用于远程管理计算机和查看共享资源,在网上最好不要用

  Admin$: 实际上就是 c:\winnt,也没有必要共享

  C$: 登录为Admin和Backup-operator的用户可以用\\计算机名\C$的方式访问C盘,虽然仅限于局域网,但是远程黑客也有办法伪装成局域网的登录用户,所以都应该关掉。

  Print$: 这是放打印机驱动程序的目录,与上面的一样也是个很危险的入口。

  Netlogon: 这是处理域登录请求的共享。如果你的机器为主域控制器,域内有其它机器要登录进来,就不要删除它,否则照样可以删除。

  如何关闭这些共享?用“服务器管理器”—>“共享目录”—>“停止共享”

  9、将ASP的目录集中管理,ASP的程序目录设置详尽的访问权限,一般建议不要使用“读”权限。

  10、把winnt下的sam._文件改名,实践证明这个可能泄露密码的文件可以删除不要。

  11、对于已知的NT安全漏洞,都应该在自己的机器上做测试检查。并及时安装补丁程序。

  12、有必要的情况下采用IIS4.0提供的SSL安全通信机制来防止数据在网上被截获。

时间: 2024-11-03 01:29:32

第十九课:最新的ASP、IIS安全漏洞的相关文章

第十九篇 最新的ASP、IIS安全漏洞

当ASP以其灵活.简单.实用.强大的特性迅速风靡全球网站的时候,其本身的一些缺陷.漏洞也正威胁着所有的网站开发者,继上一篇中介绍了一些IIS的系统漏洞及ASP的安全问题后,本期中将针对最新的ASP.IIS安全漏洞进行详细的探讨,请所有的ASP网站开发者密切关注,提高警惕. 本月初微软再次被指责对其出品的WEB服务器软件的安全问题不加重视.在微软的流行产品IIS SEVER4.0中被发现存在一种被称为"非法HTR请求"的缺陷.据微软称,此缺陷在特定情况下会导致任意代码都可以在服务器端运行

ASP教程:第十九篇 最新的ASP、IIS安全漏洞

当ASP以其灵活.简单.实用.强大的特性迅速风靡全球网站的时候,其本身的一些缺陷.漏洞也正威胁着所有的网站开发者,继上一篇中介绍了一些IIS的系统漏洞及ASP的安全问题后,本期中将针对最新的ASP.IIS安全漏洞进行详细的探讨,请所有的ASP网站开发者密切关注,提高警惕. 本月初微软再次被指责对其出品的WEB服务器软件的安全问题不加重视.在微软的流行产品IIS SEVER4.0中被发现存在一种被称为"非法HTR请求"的缺陷.据微软称,此缺陷在特定情况下会导致任意代码都可以在服务器端运行

第十五课:常用的 ASP ActiveX 组件

当你用 ASP 编写服务器端应用程序时,必须依靠 ActiveX 组件来强大 Web 应用程序的功能,譬如:你需要连接数据库,对数据库进行在线操作等等,继上篇介绍了 AD Rotator 组件后,本篇将接着给大家介绍其它一些常用的 ASP ActiveX 组件的使用方法. 最近仍有不少朋友来信问我, ASP 是否只能在 Microsoft IIS 上运行,是否可以在非 NT 平台上运作?本来这个问题我已经回答过很多遍了 : 我只是听说过有某种可以支持的软件,却从没见过.但一些热情的朋友仍然孜孜不

第十六课:其它的ASP常用组件

当你用 ASP 编写服务器端应用程序时,必须依靠 ActiveX 组件来强大 Web 应用程序的功能,譬如:你需要连接数据库,对数据库进行在线操作等等. 上两篇中作者给大家介绍了 AD Rotator. Database Access 等组件的使用方法,今天我们接着来看看其它的一些 ASP 常用组件. 一. Browser Capabilities 组件众所周知,并不是所有浏览器都支持现今 Internet 技术的方方面面.有一些特性,某些浏览器支持而另一些浏览器却不支持,如 : ActiveX

数据结构教程 第二十九课 静态查找表(一)顺序表的查找

教学目的: 掌握查找的基本概念,顺序表查找的性能分析 教学重点: 查找的基本概念 教学难点: 顺序表查找的性能分析 授课内容: 一.查找的基本概念 查找表: 是由同一类型的数据元素(或记录)构成的集合. 查找表的操作: 1.查询某个"特定的"数据元素是否在查找表中.2.检索某个"特定的"数据元素的各种属性.3.在查找表中插入一个数据元素:4.从查找表中刪去某个数据元素. 静态查找表 对查找表只作前两种操作 动态查找表 在查找过程中查找表元素集合动态改变 关键字 是数

数据结构教程 第三十九课 索引文件

教学目的: 掌握索引文件的有关概念 教学重点: 索引文件的基本概念,索引文件的重要意义 教学难点: 索引文件的建立 授课内容: 一.索引文件的基本概念 除了文件本身(称作数据区)之外,别建立一张指示逻辑记录和物理记录之间一一对应关系的表--索引表. 索引表中的每一项称作索引项.不论主文件是否按关键字有序,索引表中的索引项总是按关键字(或逻辑记录号)顺序排列. 若数据区中的记录也按关键字顺序排列,则称索引顺序文件.反之,若数据区中记录不按关键字顺序排列,则称非顺序文件. 数据区: 物理记录号 姓名

数据结构教程 第十九课 实验四 串的实现实验

教学目的: 掌握PASCAL串类型的实现方法 教学重点: 串的操作 教学难点: 串的联接操作 授课内容: 一.PASCAL串类型的存储表示: #define MAXSTRLEN 255 typedef char SString[MAXSTRLEN+1]; 二.串的操作: 1.串的联接 mystrcat(SString s1,SString s2,SString t); 2.求子串 mysubstr(SString t,int pos,int len,SString sub); 3.子串定位 my

游戏安全资讯精选 2017年第十九期:WebLogic Server WLS组件漏洞入侵挖矿事件分析,苹果手游代充灰色产业深度揭秘,《绝地求生》99%外挂都来自国内

[游戏行业安全动态]苹果手游代充灰色产业深度揭秘 概要:苹果手游代充最早可以追溯到2012年前后,到现在已经经历了多次发展,从最开始的外币汇率差,退款,36漏洞,再到现在黑卡,盗刷信用卡,甚至出现了专门的库存系统.库存系统保存的就是苹果的消费凭据,充值商家等到有客户时候,可以随时使用,可谓完美绕过苹果风控,使黑卡和盗刷可以大规模实现,让供货和销售分开,降低了行业进入的门槛,更加细分了产业链,放大了黑卡和盗刷的影响.库存系统还能绕过大多数游戏的外币检测,甚至充值游戏里已经下架的面值,比如之前某款游

第十八课:堵住ASP漏洞

无论你相不相信,通过 asp,可能可以很方便地入侵 web server.窃取服务器上的文件.捕获 web 数据库等系统的用户口令,甚至恶意删除服务器上的的文件,直至造成系统损坏,这些都决非耸人听闻,而且都确确实实发生过,本文将向你一一揭示这些 asp 存在的漏洞,并提出一些防范意见. 上一篇中给大家着重谈了"ADO 存取数据库时如何分页显示"的问题,有位朋友来信给我指出我在计算页面总数时忽略了 Recordset 对象的一个重要参数"PageCount",它能在给