首頁 -> 安全研究

安全研究

安全公告
綠盟科技安全公告(SA2001-06)

NSFOCUS安全小組([email protected])
http://www.nsfocus.com

Microsoft IIS ssinc.dll緩沖區溢出漏洞

發布日期:2001-08-17

CVE ID:CVE-2001-0506
BUGTRAQ ID:3190

受影響的軟件及系統:
====================
- Microsoft IIS 4.0
- Microsoft IIS 5.0

綜述:
======
NSFOCUS安全小組發現微軟IIS 4.0/5.0所帶的一個動態鏈接庫(ssinc.dll)在處理包含文件時存在一個緩沖區溢出漏洞,攻擊者可能利用這個漏洞獲取SYSTEM權限。

分析:
======
微軟IIS支持SSI(Server Side Include)功能。ssinc.dll就是一個SSI解釋器。默認情況下,擴展名 .stm、.shtm 和 .shtml 被映射到解釋程序(Ssinc.dll)。

SSI支持"#include"指令,通常的使用方式是:

<!--#include file="文件名"-->

ssinc.dll在處理"#include"指令時,會將shtml文件所在的目錄名加在包含文件的前面形成一個新的字符串。

例如:

創建一個"test.shtml"文件,將其保存在"wwwroot/abcd/"目錄下。"test.shtml"的內容如下:

<!--#include file="ABCD"-->

那么生成的新字符串就是"/abcd/ABCD"。ssinc.dll會將這個字符串拷貝到一個0x804(2052)字節長的緩沖區去。

ssinc.dll在從test.shtml中獲取包含文件名時,檢查了包含文件名的長度,如果發現超過0x801字節,就截斷為0x801字節,并在末尾添加'\0'。這樣,包含文件的名字最長為0x802(2550)字節,包括最后的'\0'。

但是,它沒有檢查在增加了當前目錄名后的新字符串的長度。因此,如果將包含文件名設置成一個超過0x801字節的字符串,并將"test.shtml"放到一個長度為9字節的目錄中,那么新字符串的總長度就會是

9 + 2(兩個'/'字符) + 0x801 = 0x80C (2060)字節

這將觸發一個緩沖區溢出,完全覆蓋堆棧中保存的EIP(末尾的'\0'將會覆蓋第一個形參)。

這時ssinc.dll運行在SYSTEM環境下,如果攻擊者小心地構造溢出數據,就可能改變程序流程,并以SYSTEM權限執行任意代碼。

攻擊者要進行攻擊需要有兩個條件:

1. 攻擊者需要有權限在web目錄下創建文件或目錄。
2. 攻擊者需要能夠通過web服務訪問創建的文件。

測試方法:
==========
1. 創建一個文件名為"test.shtml",文件內容包括如下內容:

   <!--#include file="AAAA[...]AA"-->

   'A'的數目應該大于2049個。

2. 在web根目錄下創建一個目錄,例如"a"。
   將"test.shtml"拷貝到"a"目錄下

3. 通過web瀏覽器請求"test.shtml":
   http://webhost/a/test.shtml

4. IIS會返回一個空白頁面,這說明溢出已經發生了。這時實際上只是用末尾的'\0'覆蓋了EBP的最后一個字節。
  
   作為對照,如果將包含文件的名字設置為一個較短的名字,例如'AA'。
   發送請求時,IIS會返回處理 SSI 文件 '/a/AA' 錯誤的信息。

解決方法:
==========
1、禁止不可信用戶對web目錄擁有寫權限
2、如果您不需要SSI功能,刪除.shtml、.shtm、.stm映射

廠商狀態:
==========
2001.6.11  我們將這個問題通報給了微軟公司。
2001.6.11  微軟告知重現了這個問題
2001.8.15  微軟已就此發布了一個安全公告(MS01-044)以及相應補丁

您可以在下列地址看到微軟安全公告的詳細內容:

http://www.microsoft.com/technet/security/bulletin/ms01-044.asp

補丁程序可以在下列地址下載:

. Microsoft IIS 4.0:
  http://www.microsoft.com/Downloads/Release.asp?ReleaseID=32061

. Microsoft IIS 5.0:
  http://www.microsoft.com/Downloads/Release.asp?ReleaseID=32011

聲 明
==========

本安全公告僅用來描述可能存在的安全問題,綠盟科技不為此安全公告提供任何保證或承諾。由于傳播、利用此安全公告所提供的信息而造成的任何直接或者間接的后果及損失,均由使用者本人負責,綠盟科技以及安全公告作者不為此承擔任何責任。綠盟科技擁有對此安全公告的修改和解釋權。如欲轉載或傳播此安全公告,必須保證此安全公告的完整性,包括版權聲明等全部內容。未經綠盟科技允許,不得任意修改或者增減此安全公告內容,不得以任何方式將其用于商業目的。

關于綠盟科技
============

綠盟科技(NSFOCUS Co., Ltd.)是中國網絡安全領域的領導企業,致力于網絡和系統安全問題的研究、高端網絡安全產品的研發、銷售與網絡安全服務,在入侵檢測/保護、遠程評估、 DDoS攻擊防護等方面提供具有國際競爭能力的先進產品,是國內最具安全服務經驗的專業公司。有關綠盟科技的詳情請參見: http://www.nsfocus.com

© 2020 綠盟科技
浙江快乐彩网上投注