萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 電腦基礎知識 >  >> 健康知識

Microsoft IIS CGI檔名雙重解碼漏洞 可繞過安全檢查執行任意命令

NSFOCUS安全小組發現Microsoft IIS 4.0/5.0在處理CGI程式檔名時存在雙重解碼漏洞,攻擊者可構造特殊編碼繞過目錄遍歷檢查,以IUSR_MACHINE權限執行任意系統命令。

受影響版本

  • Microsoft IIS 4.0
  • Microsoft IIS 5.0

不受影響: 安裝SP6/SP6a且無其他hotfix的IIS 4.0。

漏洞原理

  1. IIS載入CGI時進行兩次解碼:第一次對檔名HTTP解碼,檢查副檔名(.exe/.com等)與路徑遍歷(../、./);第二次本應僅解碼參數,但錯誤地將已解碼的檔名與參數一起再次解碼。
  2. 攻擊者雙重編碼關鍵字元(如 \ → %5c → %255c),首次解碼通過檢查,二次解碼還原為 \ 或 ../,實現目錄遍歷。

測試範例

目標存在虛擬可執行目錄 /scripts 且與系統同磁碟:

%5c..%5cwinnt/system32/cmd.exe?/c dir c:

即可列出C:根目錄。同理 ..%2f、.%2e/ 等變體亦可利用。

暫時緩解措施

  1. 若無需CGI執行,刪除可執行虛擬目錄(如/scripts)。
  2. 確需保留,將可執行虛擬目錄獨立置於非系統分區。
  3. 將可被利用的命令列工具(cmd.exe、tftp.exe等)移至獨立目錄並禁止Guests群組存取。

廠商補丁

微軟已發布對應安全公告與補丁,請儘速套用。

copyright © 萬盛學電腦網 all rights reserved