首頁 -> 安全研究

安全研究

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

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

Microsoft FrontPage 2000服務器擴展緩沖區溢出漏洞

發布日期:2001-06-25

CVE ID:CVE-2001-0341
BUGTRAQ ID:2841

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

綜述:
======
NSFOCUS安全小組發現微軟FrontPage 2000 服務器擴展軟件包中的一個程序存在一個緩沖區溢出漏洞。遠程攻擊者可能利用這個漏洞執行任意代碼。

分析:
======
微軟FrontPage 2000 服務器擴展軟件包中帶了一個動態鏈接庫:fp30reg.dll.它存在一個緩沖區溢出漏洞。當向fp30reg.dll提交一個包含超過258字節的長URL請求時,將觸發一個基于堆棧的緩沖區溢出。成功地利用這個漏洞,攻擊者可以在被攻擊的主機上遠程執行任意代碼。

如果fp30reg.dll收到到一個它不理解的參數時,它會返回一個錯誤信息給請求者:

"The server is unable to perform the method [用戶提供的參數] at this time"

這個錯誤信息被保存在堆棧中的一個緩沖區中。fp30reg.dll調用USER32.wsprintfA()來構造返回消息,由于沒有檢查用戶輸入數據的長度,攻擊
者可以重寫某些重要的內存地址以改變程序流程,例如:異常結構或者保存的返回地址等。

USER32.wsprintfA()用到的格式串為:

<HEAD><TITLE>HTTP Error 501</TITLE></HEAD><BODY><H1>NOT IMPLEMENTED</H1>The server is unable to perform the method <b>%s</b> at this time.</BODY>

它也被保存在堆棧中,而且它的地址在(目標緩沖區地址 + 256字節)處,因此在溢出發生時,格式串會被重寫,攻擊者必須設法使拷貝順利完成。

如果攻擊者使用隨機數據,可導致IIS停止響應。對于IIS 5.0, IIS服務會自動重新啟動。而對于IIS 4.0,需要手工重啟服務。

成功地利用這個漏洞,在IIS 5.0中,攻擊者可以獲取IWAM_machinename用戶的權限. 在IIS 4.0中,攻擊者可以獲取Local SYSTEM權限。

注意:

fp30reg.dll在另外一個目錄:
"\Program Files\Common Files\Microsoft Shared\Web Server Extensions\40\bin\"
下有一份拷貝,名字為: fp4areg.dll.

攻擊者也可以利用unicode等漏洞來訪問這個程序。

測試方法:
==========
如果只提交258字節長的參數,溢出不會發生:

$ curl http://xx.xx.xx.xx/_vti_bin/_vti_aut/fp30reg.dll?`perl -e 'print "A"x258'`

<HEAD><TITLE>HTTP Error 501</TITLE></HEAD><BODY><H1>NOT IMPLEMENTED</H1>
The server is unable to perform the method <b>AAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAA</b> at this time.</BODY>

但是,如果長度超過258字節,就將觸發緩沖區溢出:

$ curl http://xx.xx.xx.xx/_vti_bin/_vti_aut/fp30reg.dll?`perl -e 'print "A"x259'`

<html><head><title>Error</title></head><body>The remote procedure call failed. </body></html>

我們也提供了一個演示程序:
http://www.055795.buzz/proof/fpse2000ex.c

解決方法:
==========
刪除或禁止任何人訪問fp30reg.dll和fp4areg.dll

廠商狀態:
==========
2001.4.13  我們將這個問題通報給了微軟公司。
2001.4.15  微軟告知重現了這個問題
2001.5.18  微軟提供了補丁程序供測試,測試發現此問題已被解決
2001.6.21  微軟已就此發布了一個安全公告(MS01-035)以及相應補丁

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

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

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

. Microsoft Windows NT 4.0:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=31038

. Microsoft Windows 2000:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=30727

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

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

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

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

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