亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關(guān)注微信公眾號

Microsoft IIS CGI文件名錯誤解碼漏洞
2006-04-21   網(wǎng)絡(luò)

受影響的軟件及系統(tǒng):
  ==================
  
  - Microsoft IIS 4.0
  - Microsoft IIS 5.0
  
  不受影響的軟件及系統(tǒng):
  ===================
  - Windows IIS 4.0 (sp6/sp6a 沒有安裝其他新的hotfix)
  
  綜述:
  =====
  
  NSFOCUS安全小組發(fā)現(xiàn)微軟IIS 4.0/5.0在處理CGI程序文件名時存在一個安全
  漏洞,由于錯誤地對文件名進行了兩次解碼,攻擊者可能利用這個漏洞執(zhí)行任意
  系統(tǒng)命令。
  
  漏洞分析:
  ==========
  
  IIS在加載可執(zhí)行CGI程序時,會進行兩次解碼。第一次解碼是對CGI文件名進行http
  解碼,然后判斷此文件名是否為可執(zhí)行文件,例如檢查后綴名是否為".exe"或".com"
  等等。在文件名檢查通過之后,IIS會再進行第二次解碼。正常情況下,應(yīng)該只對該
  CGI的參數(shù)進行解碼,然而,IIS錯誤地將已經(jīng)解碼過的CGI文件名和CGI參數(shù)一起進行
  解碼。這樣,CGI文件名就被錯誤地解碼了兩次。
  
  通過精心構(gòu)造CGI文件名,攻擊者可以繞過IIS對文件名所作的安全檢查,例如對"../"
  或"./"的檢查,在某些條件下,攻擊者可以執(zhí)行任意系統(tǒng)命令。
  
  例如,對于''這個字符,正常編碼后是%5c。這三個字符對應(yīng)的編碼為:
  '%' = %25
  '5' = %35
  'c' = %63
  
  如果要對這三個字符再做一次編碼,就可以有多種形式,例如:
  %255c
  %%35c
  %%35%63
  %25%35%63
  ...
  
  因此,".."就可以表示成"..%255c"或"..%%35c"等等形式。
  
  在經(jīng)過第一次解碼之后,變成"..%5c"。IIS會認為這是一個正常的字符串,
  不會違反安全規(guī)則檢查。而在第二次被解碼之后,就會變成".."。因此
  攻擊者就可以使用".."來進行目錄遍歷,執(zhí)行web目錄之外的任意程序。  
  
  漏洞測試:  
  例如,如果TARGET存在一個虛擬可執(zhí)行目錄(scripts),并且它與
  windows系統(tǒng)在同一驅(qū)動器上。那么提交類似下列請求:
  
  http://TARGET/scripts/..%255c..%255cwinnt/system32/cmd.exe?/c+dir+c:
  就會列出C:的根目錄。
  
  當(dāng)然,對于'/'或者'.'做變換同樣可以達到上面的效果。
  例如:"..%252f", ".%252e/"...
  
  注意:攻擊者只能以IUSER_machinename用戶的權(quán)限執(zhí)行命令。
  
  臨時解決方法:
  
  1、如果不需要可執(zhí)行的CGI,可以刪除可執(zhí)行虛擬目錄,例如 /scripts等等。
  2、如果確實需要可執(zhí)行的虛擬目錄,建議將可執(zhí)行虛擬目錄單獨放在一個分區(qū)
  3、將所有可被攻擊者利用的命令行工具移到另外一個目錄中并禁止GUEST組訪問。

熱詞搜索:

上一篇:兩臺思科路由器互相升級IOS過程
下一篇:用SSL給IIS加把鎖(1)

分享到: 收藏