古詩詞大全網 - 成語查詢 - 什麽是unicode漏洞

什麽是unicode漏洞

Unicode是如今最熱門的漏洞之壹,也是比較簡單易學的壹個漏洞,比如去年5.1中美黑客大戰中,使用的就是這個漏洞。如果我們能知道他們所采用的入侵手段,就可以進行有效的防禦!今天就讓我們壹起來了解壹下那些黑客是怎樣利用該漏洞進行入侵的,目的是通過對這種黑客手段的了解,來找到防禦方法。

壹:什麽是UNICODE漏洞

NSFOCUS安全小組發現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的路徑檢查,去執行或者打開任意的文件。 (1) 如果系統包含某個可執行目錄,就可能執行任意系統命令。下面的URL可能列出當前目錄的內容/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+dir+c:\

此漏洞從中文IIS4.0+SP6開始,還影響中文WIN2000+IIS5.0、中文WIN2000+IIS5.0+SP1,臺灣繁體中文也同樣存在這樣的漏洞。

Win NT4 編碼為:%c1%9c

Win2000 英文版 編碼為:%c0%af

二.駭客是如何利用UNICODE漏洞來入侵

1.首先我們的來尋找壹臺存在UNICODE漏洞的主機,這裏我們可以使用的工具非常多,只要是能掃CGI漏洞的都可以,不過我更喜歡流光,因為流光的功能是非常強大的。註意:我們這裏是的目的是通過入侵方法來學會防範,所以以下我們使用的主機都是假設的。

2.小試UNICODE

現在我們打開自己的瀏覽器輸plete

set of HTTP headers. The headers it did return are:

英文意思是:

CGI錯誤

具體的CGI申請有誤,不能返回完整的HTTP標題,返回的標題為:

不用管他的了,我們的文件夾實際上已經建立好了

我們還可以使用COPY拷貝文件到指定目錄,使用attrib修改文件屬性命令

熟悉了以上的命令的話,下面我們看看駭客是怎麽破壞主頁的

3.簡單的修改主頁方法:

壹般情況下,駭客們要修改目標主機的web文件,常用到的方法是利用echo回顯、管道工具“>” “>>”

下面我們先來介紹壹下是怎麽使用:

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

“>”“>>”是將命令產生的輸出重新定向比如寫到某個文件或輸出到打印機中。

“>>”產生的內容將追加進文件中,“>”則將原文件內容覆蓋。

但是IIS加載程序檢測到有cmd.exe或者command.com串就要檢測特殊字符“&|(;%<>”如果發現有這些字符就會返回500錯誤,所以不能直接使用cmd.exe加管道符等。

但是我們可以這樣操作:

/technet/Security/Bulletin/ms00-078.asp

補丁可以從下列地址下載:

Microsoft IIS 4.0:

/ntserver/nts/downloads/critical/q301625/default.asp

Microsoft IIS 5.0:

/windows2000/downloads/critical/q301625/default.asp