• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

修改IIS的Banner隐藏操作系统版本

发布: 2007-6-21 12:06 | 作者:   | 来源:   | 查看: 130次 | 进入软件测试论坛讨论

领测软件测试网

   
  构建高安全级别的主机系统的时候,对于NT系统往往有一个很尴尬的地方就是IIS的返回BANNER会很容易的泄露当前主机上NT的版本。比如我们可以简单的TELNET到对方的80端口用GET命令来查看下结果:
  
  HTTP/1.1 400 Bad Request

  Server: Microsoft-IIS/5.0
  Date: Wed, 31 Dec 1997 20:37:29 GMT
  Content-Type: text/html
  Content-Length: 87
  
  <html><head><title>Error</title></head>
  <body>The parameter is incorrect. </body>
  </html>
  
  又或者FTP过去看到:
  
  Connected to 127.0.0.1.
  220 sql Microsoft FTP Service (Version 5.0).
  User (127.0.0.1:(none)):
  
  TELNET到对方的25 端口去发信的时候,会出现:
  
  220 sql Microsoft ESMTP MAIL Service, Version: 5.0.2195.4453 ready at Thu, 1 Ja
  n 1998 04:47:48 +0800
  
  看到没有服务器会很老实的告诉我们它是IIS5.0,结果全世界都知道它是WIN2000了。也许你很费力安装防火墙然后禁止了ICMP的数据包,但IIS的WEB FTP SMTP NNTP还是会很轻易的把秘密给泄露出去。讨厌的是现在很多漏洞扫描和安全评估系统也会根据服务器所返回的标志来自动判断服务器的版本,然后从后台调用相应的漏洞资料数据库来调整下一步的扫描策略,最后在报告里还要说上一句告诉我们这是属于低风险的安全漏洞,实在是可恶。
  
  其实虽然在IIS的管理器里面并没有提供给我们修改和隐藏BANNER的工具,但我们还是可以通过修改相应的DLL文件来实现的,当然这需要一点小技巧,可是并不复杂。
  
  首先我们需要知道存放IIS BANNER的DLL文件都是放在C:\WINNT\SYSTEM32\INETSRV\ 目录下面的,其中对应关系是:
  
  WEB是:C:\WINNT\SYSTEM32\INETSRV\W3SVC.DLL
  
  FTP是: C:\WINNT\SYSTEM32\INETSRV\FTPSVC2.DLL
  
  SMTP是:C:\WINNT\SYSTEM32\INETSRV\SMTPSVC.DLL
  
  我们可以用UltraEdit将他们打开,然后查找我们想要找的BANNER的关键字,例如IIS的WEB就是要找:Microsoft-IIS/5.0 。
  
 修改IIS的Banner隐藏操作系统版本(图一)

  然后直接修改成我们想要修改成的样子,这个可以随你高兴了:)然后保存就好,但需要注意的地方就是:
  
  1 在修改的时候请停止IIS的服务,可以用iisreset /stop 。
  
  2 由于2000系统后台的文件保护机制的作用,当系统一旦发现重要的DLL文件被修改后就会尝试用%SYSTEMROOT%\system32\dllcache 目录下的备份文件来进行恢复,所以在修改前我们还需要事先删除%SYSTEMROOT%\system32\dllcache目录下的同名文件。
  
  当然除了以上的手动修改以外,其实还有人写过一个相应的小工具来完成这件事情的,使用和操作上就更简单了,下面给大家介绍下:
  
 修改IIS的Banner隐藏操作系统版本(图二)

  
 修改IIS的Banner隐藏操作系统版本(图三)

  
 修改IIS的Banner隐藏操作系统版本(图四)

  注意的是一样先要自己事先停止IIS服务,删除DLLCACHE里的备份文件。
  完成后WINDOWS会出来一个对话框告诉你,系统文件被更改需要安装光盘恢复,不用理它点取消就好了。
  
 修改IIS的Banner隐藏操作系统版本(图五)

  
修改IIS的Banner隐藏操作系统版本(图六)

  修改以后的BANNER成了这个样子:
  
  HTTP/1.1 400 Bad Request
  www.isfocus.net
  Date: Wed, 31 Dec 1997 21:11:41 GMT
  Content-Type: text/html
  Content-Length: 87
  
  <html><head><title>Error</title></head>
  <body>The parameter is incorrect. </body>  </html>
  
  可以发现修改后的BANNER已经不再出现Microsoft-IIS/5.0的字样了。
  
  不过老实说,想要完全隐藏还是不太现实,就我来看IIS和APACHE返回的代码格式实在是差的太远了。
  
  APACHE是这个样子的:
  
   <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
  <HTML><HEAD>
  <TITLE>501 Method Not Implemented</TITLE>
  </HEAD><BODY>
  <H1>Method Not Implemented</H1>
  get to /dd.htm not supported.<P>
  Invalid method in request get /dd.htm<P>
  <HR>
  <ADDRESS>Apache
  /1.3.14 Server at localhost Port 8080</ADDRESS>
  </BODY></HTML>

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网