top
Loading...
ASP篇(十八)
作 者 : 天驕創作室書生

無論你相不相信,通過asp,可能可以很方便地入侵web server、竊取服務器上的文件、捕獲web數據庫等系統的用戶口令,甚至惡意刪除服務器上的的文件,直至造成系統損壞,這些都決非聳人聽聞,而且都確確實實發生過,繼上篇中作者向您揭示IIS存在的一些系統漏洞后不久IIS又被發現了重大安全漏洞,欲知詳情,請看下文。

ASP篇18期,終于又可以同大家見面了,前不久由于工作繁忙,實在無暇繼續ASP的寫作。為此,很多朋友來信對我進行了“嚴厲”的批評,并鼓勵我繼續堅持寫作,令我深受鼓舞。從去年我開始ASP篇的寫作開始,國內使用ASP開發的網站從寥寥無幾,到如今的百花齊放,讓我們親身感受到了ASP的無限魅力及其廣泛的影響。當ASP以其靈活、簡單、實用、強大的特性迅速風靡全球網站的時候,其本身的一些缺陷、漏洞也正威脅著所有的網站開發者,繼上一篇中介紹了一些IIS的系統漏洞及ASP的安全問題后,本期中將針對最新的ASP、IIS安全漏洞進行詳細的探討,請所有的ASP網站開發者密切關注,提高警惕。

本月初微軟再次被指責對其出品的WEB服務器軟件的安全問題不加重視。在微軟的流行產品IIS SEVER4.0中被發現存在一種被稱為“非法HTR請求”的缺陷。據微軟稱,此缺陷在特定情況下會導致任意代碼都可以在服務器端運行。但用發現這一漏洞的Internet安全公司eEye的CEO Firas Bushnaq的話說:這只是冰山一角而已。Bushnaq說,微軟隱瞞了些情況,比如黑客可以利用這一漏洞對IIS服務器進行完全的控制,而恰恰許多電子商務站點是基于這套系統的。

下面羅列出了該IIS系統漏洞的詳細情況:

IIS的最新安全漏洞

受影響的系統:

Internet Information Server 4.0 (IIS4)

Microsoft Windows NT 4.0 SP3 Option Pack 4

Microsoft Windows NT 4.0 SP4 Option Pack 4

Microsoft Windows NT 4.0 SP5 Option Pack 4

公布日期:6.8.1999

microsoft已經證實了這個漏洞,但目前還沒有提供可用的補丁程序。

微軟安全公告 (MS99-019):

主題:"非正常的 HTR 請求" 漏洞

發布時間: 6.15.1999

摘要:

微軟已經證實在其發布的WEB服務器產品Internet Information Server 4.0中存在一個嚴重的系統漏洞,該漏洞導致對于IIS服務器的“服務拒絕攻擊”,在這種情況下,可能導致任何2進制代碼在服務器上運行。有關該漏洞的補丁將在近期發布,請所有IIS用戶密切關注。

漏洞介紹:

IIS支持多種需要服務器端處理的文件類型,譬如:ASP、ASA、IDC、HTR,當一個WEB用戶從客戶端請求此類文件時,相應的DLL文件將自動對其進行處理。然而在ISM.DLL這個負責處理HTR文件的文件中被發現存在嚴重的安全漏洞。(注:HTR文件本身是用來遠程管理用戶密碼的)

該漏洞包含了一個在ISM.DLL中未經驗證的緩沖,它可能對WEB服務器的安全運作造成兩方面的威脅。首先,是來自服務拒絕攻擊的威脅,一個來自非正常的對.HTR文件請求將導致緩存溢出,從而直接導致IIS崩潰,當這種情況發生時,無須重啟服務器,但是IIS WEB 服務器必須重新啟動。另一個威脅更令人頭痛,通過使用一個精心構建過的文件請求將可以利用標準的緩存溢出手段導致2進制代碼在服務器端運行,在這種情況下,什么都可能發生!該漏洞不包括提供用來管理用戶密碼的功能的.HTR文件。

原理分析:

至少在一個IIS的擴展名中(例如:ASP,IDC,HTR)存在溢出。我們推測溢出將在IIS把完整的URL傳遞給DLL去處理擴展名時發生。如果ISAPI DLL 沒有正確的檢查限制范圍從而導致INETINFO.EXE產生一個溢出,用戶就從可以遠端執行2進制代碼。攻擊方法:向IIS發一個如下的HTTP請求:"GET /[overflow].htr HTTP/1.0",IIS將崩潰。這里的[overflow]可以是3K長的代碼。

大家可能對.HTR文件不是很熟悉,其實IIS具有讓NT用戶通過WEB目錄/iisadmpwd/更改自己的口令的能力。而這個功能正是由一組.HTR文件和ISAPI的一個擴展DLL: ISM.DLL實現的。當一個完整的URL傳遞到ISM.DLL時,由于沒有適當的大小限制的檢查,就會導致溢出產生,從而使得服務器崩潰。HTR/ISM.DLL ISAPI 是IIS4缺省安裝。

解決途徑:

由于目前微軟尚未發布可供使用的補丁程序,因此我們只能做一些應急的防范。

1、將.HTR擴展名從ISAPI DLL 的列表中刪除

在你的NT桌面上,點擊“開始”—>“程序”—>“Windows NT 4.0 Option Pack”—>“Microsoft Internet Information Server”—>“Internet 服務管理器”;雙擊“Internet Information Server”;鼠標右鍵單擊計算機名稱并選擇“屬性”;在“主屬性”下拉式菜單中選擇“WWW服務”并點擊“編輯”按鈕;選擇“主目錄”文件夾,并點擊“配置”按鈕,在“應用程序映射”列表框中選中.HTR的相關映射,選擇“刪除”,并確定。

2、安裝微軟提供的補丁程序,請密切關注以下網址

http://www.microsoft.com/security

http://www.microsoft.com/security/products/iis/CheckList.asp

可能一些朋友會感到不解,為什么我在ASP篇17、18期連續利用兩大篇幅著重討論IIS、ASP的安全性問題,如果你是一個WEB開發者、ASP程序員,我想你就應該能夠體會我的用意。我們進行網絡編程、開發交互性的網站,當然首先是為了發展、建設自身網站,但是這一些都是建立在安全的基礎上,這里的安全包括對自己辛辛苦苦開發的ASP或其他網絡應用程序代碼的保護、確保網站服務器安全正常的運行、確保用戶信息的安全及認證等等,當今后電子商務成為真正廣泛運作的一種商務運行手段后,安全性更是關鍵之關鍵。我們中的很多朋友在作為ASP程序員的同時又身兼網絡管理員的職責,因此熟悉系統的運作、及時了解系統漏洞、第一時間解決安全性問題就顯得十分重要和必要,因此在本文的結尾,作者將整理的一些關于NT、IIS系統配置的安全性建議羅列出來,希望能給大家一些幫助。

1、使用最新版本的Microsoft Internet Information Server4.0,并安裝NT最新版本的Service Pack5,服務器的文件系統不要使用FAT,應該使用NTFS。

2、把IIS中的sample、scripts、iisadmin和msadc等web目錄設置為禁止匿名訪問并限制IP地址。在微軟還沒有提供補丁之前,把ism.dll有關的應用程序映射刪除。

3、有條件的話就采用防火墻機制,最簡單的如web服務開在前臺,目錄放在后臺,如果能一個服務一臺機當然最好。

4、Web目錄,CGI目錄,scripts目錄和winnt目錄等重要目錄要用NTFS的特性設置詳細的安全權限,包含注冊表信息的Winnt目錄只允許管理員完全控制,一般的用戶只讀的權限也不要給。凡是與系統有關的重要文件,除了Administrator,其它帳號都應該設置為只讀權限,而不是everyone/完全控制 。

5、只開你需要的服務,block掉所有不應該打開的端口,如NetBios端口139,這是一個典型的危險端口;怎樣禁止這些端口?除了使用防火墻外,NT的Tcp/IP設置里面也提供了這種功能:打開控制面板-網絡-協議-TCP/IP-屬性-高級-啟用安全機制-配置,這里面提供了TCP和UDP端口的限制和IP協議的限制功能。

6、管理員的帳號要設置得復雜一些,建議加入特殊字符。

7、把FTP,Telnet的TCP端口改為非標準端口,通常我都是設置到10000'65000的范圍

8、刪除可以刪除的所有共享,包括打印機共享和隱藏的共享如ICP$,Admin$等,微軟說這些特殊共享資源很重要,大多數情況下不能刪除,而實際上放在Internet上的機器大多數不需要共享。

IPC$: 適用于遠程管理計算機和查看共享資源,在網上最好不要用

Admin$: 實際上就是 c:winnt,也沒有必要共享

C$: 登錄為Admin和Backup-operator的用戶可以用\計算機名C$的方式訪問C盤,雖然僅限于局域網,但是遠程黑客也有辦法偽裝成局域網的登錄用戶,所以都應該關掉。

Print$: 這是放打印機驅動程序的目錄,與上面的一樣也是個很危險的入口。

Netlogon: 這是處理域登錄請求的共享。如果你的機器為主域控制器,域內有其它機器要登錄進來,就不要刪除它,否則照樣可以刪除。

如何關閉這些共享?用“服務器管理器”—>“共享目錄”—>“停止共享”

9、將ASP的目錄集中管理,ASP的程序目錄設置詳盡的訪問權限,一般建議不要使用“讀”權限。

10、把winnt下的sam._文件改名,實踐證明這個可能泄露密碼的文件可以刪除不要。

11、對于已知的NT安全漏洞,都應該在自己的機器上做測試檢查。并及時安裝補丁程序。

12、有必要的情況下采用IIS4.0提供的SSL安全通信機制來防止數據在網上被截獲。

(完)
作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗