IIS的Unicode漏洞攻擊

2021-09-06 16:59:30 字數 2580 閱讀 1528

iis有十多種常見漏洞,但利用得最多的莫過於unicode解析錯誤漏洞。微軟iis 4.0/5.0在unicode字元解碼的實現中存在乙個安全漏洞,使用者可以遠端通過iis執行任意命令。當iis開啟檔案時,如果該檔名包含unicode字元,它會對它進行解碼。如果使用者提供一些特殊的編碼,將導致iis錯誤地開啟或者執行某些web根目錄以外的檔案或程式。我們此文就著重來講講如何利用這個漏洞入侵iis。

對於iis 4.0/5.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。

在nt4中「/」編碼為「%c1%9c」;在英文版的win2000中為「%c0%af」;在中文版的win2000裡是「%c1%1c」。此外還有多種編碼,不逐一闡述,大家可以查查資料。本文均以win2000為例,其他型別請自行替換。

判斷是否存在漏洞

當然也可以在ie瀏覽器中輸入以下語句來進行判斷:

學過dos的應該可以看懂,其實就是利用當中的非法請求使我們連到system32下,如果inetpub目錄不和winnt在同一碟符,或者目錄級數有改動,就可能會引起請求失敗。

如果存在漏洞,那麼在瀏覽區可看到如下類似資訊:

directory of c:\inetpub\scripts

2005-03-05 15:49 〈dir〉 .

2005-09-05 15:49 〈dir〉 ..

是不是有自己機器的感覺了,正點!要的就是這種感覺!

cmd.exe相當於dos裡的command.com,因此,我們可以執行很多命令了!

注意:在上面輸入的判斷語句中,「/c」後面的「+」,實際上是空格,請記牢!dir是dos中的檢視檔案和目錄命令,不懂dos的朋友快去學習。

看了上面的介紹,不用說大家也知道我們可以利用此漏洞對伺服器展開攻擊了!

修改**首頁

1.確定**首頁名稱

一般**預設首頁檔案為index.htm、index.html、index.asp、default.htm、defautl.html或default.asp中的乙個,我們可以通過輸入不同的首頁名稱來測試並確定要修改的**首頁。在ie位址列中輸入以下三個**:

2.修改原理

最方便的方法是echo法:echo是乙個系統命令,主要用於設定回應開關。

echo test >c:\autoexec.bat就是把test加入autoexec.bat裡並刪除原有內容;

echo timedate >>c:\autoexec.bat就是加入timedate但不刪除原有內容。

明白了嗎?接下來我們就可以逍遙地修改了。

3.更改**首頁

hahathisismyhack +>c:\inetpub\wwwroot\index.htm

ie瀏覽器返回來的結果可能為以下兩種情況之一:

1)http 500 - 內部伺服器錯誤

2)the parameter is incorrect

通過返回資訊提示和對cmd的分析,可能是命令語句中引數錯誤,加入"符號再試試:

1) ".exe?/c+echo+ hahathisismyhack +>c:\inetpub\wwwroot\index.htm

表示把hahathisismyhack加入到index.htm檔案並刪除原有內容。

2)".exe?/c+echo+ by2005-3-9+>>c:\inetpub\wwwroot\index.htm

表示把by2005-3-9加入到index.htm檔案中,但不刪除原有內容。

如果正常,上面兩條語句的回應應該都為cgi錯誤,這表示語句執行成功了,系統只是程式性地報個錯誤,不用理會它。

現在再來開啟**aa.feedom.net看看吧,怎麼樣了,是不是被你改掉了?在實際操作中,由於目錄許可權等網管因素的存在,可能這個方法也會失效,這時,我們就可以用copy cmd.exe 為另乙個.exe檔案的方式解決,不過要記住路徑,別出錯了,例如:

.exe?/c+copy+cmd.exe+c:\a.exe

>c:\inetpub\wwwroot\index.htm

本文講到的技術比較簡單,很適合初學者研究和學習。也許你通過本文的例項方式,已經能修改我們提供的伺服器首頁了,但是在實際操作中,伺服器環境必然有變化,而且障礙也許是你未曾研究或接觸過的。所以只有牢牢地掌握了基礎知識才有高階的資本。大家可以根據文中提到的知識點查閱資料輔助學習。

IIS漏洞入侵

硬功夫欄目 黑客營 http cpcw.com 黑客營 論壇 http cpcw.com bbs 感謝中國網管聯盟提供支援 www.bitscn.com 為了滿足廣大讀者的要求,本報 硬功夫 欄目再次與大家見面了。本次我們為你準備了八期的黑客系列選題,旨在帶領大家完成對一些主流技術提公升,我們會詳細...

CTF XXE漏洞攻擊

f12 檢視原始碼 可以看到傳輸的資料是xml型別 payload打一下 1.0 encoding utf 8 doctype any entity xxe system file flag xxe username 111 password user 首先嘗試直接讀 flag檔案,回顯了報錯資訊,...

IIS解析漏洞復現

該解析漏洞形成原因是以 asp命名的資料夾裡面的檔案都會被當作asp檔案解析!首先我們先搭建乙個iis6.0的伺服器,具體搭建方法見文章中還有一些常見的問題也幫大家寫出來了。然後我們建立乙個test.txt的文件裡面寫入hello world,然後修改字尾名將test.txt改為test.jpg 然...