技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運(yùn)營(yíng)

贊助商

分類目錄

贊助商

最新文章

搜索

IIS設(shè)置CGI擴(kuò)展和ISAPI擴(kuò)展為允許的危險(xiǎn)

作者:admin    時(shí)間:2017-4-5 9:23:14    瀏覽:

IIS web服務(wù)擴(kuò)展設(shè)置中包含有這兩個(gè)項(xiàng)目:所有未知 CGI 擴(kuò)展和所有未知 ISAPI 擴(kuò)展。我們?cè)撊绾卧O(shè)置這兩個(gè)擴(kuò)展呢?允許還是禁止?我相信很多網(wǎng)站管理員都不知如何處理,也不去深究它,因?yàn)檎J(rèn)為自己用不上,而即使設(shè)置了“允許”或“禁止”,也是不知其意。那么正確的做法是什么呢?

CGI 和 ISAPI

在做出選擇“允許”或“禁止”之前,我想大家有必要先去了解一下這兩個(gè)擴(kuò)展的意義。

CGI 擴(kuò)展:CGI 意思為 Common Gateway Interface, 一種基于瀏覽器的輸入、在Web服務(wù)器上運(yùn)行的程序方法,CGI腳本 使你的瀏覽器與用戶能交互,為了在數(shù)據(jù)庫(kù)中尋找一個(gè)名詞, 提供你寫入的評(píng)論,或者從一個(gè)表單中選擇幾個(gè)條目并且能得到一個(gè)明確的回答. 如果你曾經(jīng)遇到過(guò)在web上填表或進(jìn)行搜索, 你就是用的CGI腳本. 你那時(shí)也許沒(méi)有意識(shí)到,因?yàn)榇蟛糠止ぷ魇窃诜?wù)器上運(yùn)行的,你看到的只是結(jié)果。作為一個(gè)網(wǎng)頁(yè)設(shè)計(jì)者, 你創(chuàng)建客戶端的 CGI腳本, 服務(wù)器端的程序用來(lái)處理用戶輸入, 結(jié)果返回給用戶。

ISAPI 擴(kuò)展:互聯(lián)網(wǎng)服務(wù)應(yīng)用程序編程接口(Internet Server Application Programming Interface,簡(jiǎn)稱ISAPI)是一組API函數(shù)。它是一種用來(lái)開發(fā)擴(kuò)展IIS程序的強(qiáng)有力的方法。 “ISAPI擴(kuò)展(ISAPI Extension)”是一種可以添加到IIS中以增強(qiáng)Web服務(wù)器功能的程序,其載體為DLL文件。通常直接負(fù)責(zé)響應(yīng)HTTP請(qǐng)求。

根據(jù)HTTP請(qǐng)求要訪問(wèn)的資源擴(kuò)展名(通過(guò)URL獲?。琁IS會(huì)選取特定的ISAPI擴(kuò)展來(lái)處理這一請(qǐng)求,這一過(guò)程被稱為“程序映射”。 而用于響應(yīng)HTTP請(qǐng)求的被稱為“HTTP Handler(HTTP處理程序)”。如果不是孤陋寡聞,在瀏覽某些網(wǎng)站時(shí),你一定遇到過(guò)URL地址欄的結(jié)尾是一個(gè)腳本目錄下的DLL文件,就像下面的這個(gè)假設(shè)的URL地址:

 

這些DLL文件可以干什么呢?這些DLL是使用ISAPI(Internet Server API)建立的。ISAPI是一種比CGI更有優(yōu)勢(shì)的技術(shù)。雖然使用CGI腳本開發(fā)出的新網(wǎng)站功能確實(shí)令人驚訝,但是ISAPI DLL有CGI所不具備的新功能。

CGI擴(kuò)展和ISAPI擴(kuò)展與IIS Input 漏洞

IIS環(huán)境有一個(gè)公認(rèn)的漏洞:IIS Input 漏洞。該漏洞利用的過(guò)程不復(fù)雜,可以直接PUT文件,上傳shell,進(jìn)而控制整臺(tái)服務(wù)器。

但是 IIS Input 漏洞也不是任何情況下都可以被利用的,它取決于IIS的某些設(shè)置是否得當(dāng),而 CGI 擴(kuò)展和 ISAPI 擴(kuò)展的設(shè)置將直接影響到該漏洞能否被成功利用。

iis put漏洞的利用,首先CGI擴(kuò)展和ISAPI擴(kuò)展要設(shè)置為允許(默認(rèn)是禁止),當(dāng)然最重要的是WebDAV要開啟。

CGI擴(kuò)展和ISAPI擴(kuò)展要設(shè)置為允許

CGI擴(kuò)展和ISAPI擴(kuò)展要設(shè)置為允許

但是,無(wú)論其他設(shè)置是怎樣,只要當(dāng)CGI擴(kuò)展和ISAPI擴(kuò)展要設(shè)置為允許后,利用OPTIONS獲取權(quán)限就可以看到如下圖所示的權(quán)限。

利用OPTIONS獲取權(quán)限

利用OPTIONS獲取權(quán)限

至于能不能傳文件上去,就必須要開起WebDAV、寫入、腳本資源訪問(wèn),參考《IIS腳本資源訪問(wèn)要關(guān)閉 以免漏洞被利用》,《安全提示:IIS不要開啟“WebDAV”擴(kuò)展》。

擴(kuò)展閱讀

利用IIS寫權(quán)限漏洞、IIS6.0文件名解析漏洞上傳shell

1、寫權(quán)限用兩張圖做說(shuō)明:

圖1:禁止寫入

圖1:禁止寫入

圖1禁止寫入,HTTP header方法POST、PUT請(qǐng)求的響應(yīng),403 Forbidden。

圖2:允許寫入

圖2:允許寫入

圖2允許寫入,不允許腳本資源訪問(wèn)。PUT請(qǐng)求,如果PUT的對(duì)象是非腳本資源,響應(yīng)201 Created。但是如果PUT的對(duì)象是腳本Shell,403 Forbidden。

腳本資源訪問(wèn):用戶可以對(duì)網(wǎng)站目錄的腳本文件有操作的權(quán)限,前提是開啟讀取或者寫入權(quán)限,開啟讀取權(quán)限就有讀取腳本文件(源代碼)的權(quán)限,開啟寫入權(quán)限就有寫入腳本文件的權(quán)限。

讀取:用戶可以訪問(wèn)網(wǎng)站的文件,建立網(wǎng)站的時(shí)候默認(rèn)開啟讀取權(quán)限。

寫入:用戶可以寫入文件到網(wǎng)站目錄,也就是我們所說(shuō)的寫權(quán)限漏洞。

如果開啟寫入權(quán)限不開啟腳本資源訪問(wèn)權(quán)限,則只有上傳普通文件的權(quán)限,沒(méi)有修改為腳本文件后綴的權(quán)限。

目錄瀏覽:用戶可以查看網(wǎng)站目錄的所有文件和目錄。前提是開啟讀取權(quán)限。

2、寫權(quán)限的利用

利用的過(guò)程不復(fù)雜,但也不是直接PUT方法,上傳shell那么簡(jiǎn)單。

IIS PUT漏洞掃描

IIS PUT漏洞掃描

IIS PUT漏洞掃描

如果你能夠PUT一個(gè)test.txt到目標(biāo)服務(wù)器。

1)你打算PUT一個(gè)shell腳本,卻沒(méi)有成功。

PUT一個(gè)shell腳本

PUT一個(gè)shell腳本

原因是IIS支持的文件類型,都會(huì)被拒絕。你可以使用MOVE方法,將test.txt剪切到其他位置并重新命名。

2)如果MOVE還是不能成功,你可以試試?yán)肐IS6.0的文件名解析漏洞。

MOVE不成功

MOVE不成功

總結(jié) 

IIS寫權(quán)限漏洞 (HTTP PUT方法利用),該漏洞的產(chǎn)生原因來(lái)源于服務(wù)器配置不當(dāng)造成,利用IIS PUT Scaner掃描有漏洞的iis,此漏洞主要是因?yàn)榉?wù)器開啟了webdav的組件導(dǎo)致的可以掃描到當(dāng)前的操作,具體操作其實(shí)是通過(guò)webdav的OPTION來(lái)查詢是否支持PUT。因此,禁止webdav即可有效防止該漏洞被利用。

標(biāo)簽: IIS  
x
  • 站長(zhǎng)推薦
/* 左側(cè)顯示文章內(nèi)容目錄 */