修正: ISA 2006 區塊就會將這個網站要求發行包含換行 (CR) 或字元 (LF) 的 url

文章翻譯 文章翻譯
文章編號: 2622172 - 檢視此文章適用的產品。
重要 本文將告訴您,如何協助較低的安全性設定或如何關閉電腦上的安全性功能的資訊。您可以進行這些變更,如果要解決特定問題。在進行這些變更之前,我們建議您先評估在特定環境中使用此程序相關的風險。如果您實作這個程序時,採取任何其他的適當步驟,以協助保護電腦。
全部展開 | 全部摺疊

徵狀

請考慮下列案例:
  • 您可以使用表單架構驗證,以發行到 Microsoft 網際網路安全性與加速 (ISA) 伺服器 2006年網頁。
  • 您可以使用逸出的換 ("%0 D") 或換行符號 ("%0a") 在 URL 中的所包含的 URL,以存取這個網頁。

在這個案例中,ISA Server 2006 封鎖存取的 url。此外,ISA 網頁 Proxy 記錄檔會顯示 12232 拒絕要求的結果程式碼。

附註 請記住,此結果程式碼也會因為其他問題的記錄,就會記錄的 URL 必須檢閱 %0a 的位元組%0 d 如果要判斷是否為您遇到這個問題的字元。

發生的原因

表單架構驗證] 篩選器封鎖已知的跨網站指令碼和相關的攻擊,就會發生這個問題。在此情況下,篩選器封鎖回應分割也包含換行字元的攻擊。不過,有效的 Url 也可以包含這些字元。例如,IBM 理性 Clearquest 應用程式即其 Url 中使用換行字元。

解決方案

若要解決這個問題,請安裝下列 「 Microsoft 知識庫 」 文件的 ISA Server 2006 hotfix 彙總套件所述:
2616326 ISA Server 2006 hotfix 套件的描述: 2011 年 9 月

其他相關資訊

警告 此程序可能會使電腦或網路更容易遭受惡意使用者或惡意軟體,例如病毒攻擊。我們不建議這項程序,但會提供此資訊,以便您可以自己決定實作這個程序。使用此程序,必須自行承擔風險。

下列指令碼會停用 ISA Server 2006 Service Pack 1 的預設行為,並啟用 ISA 伺服器,以允許包含換行 (CR) 或字元 (LF) 中的 URL 位址的 Url。若要使用此指令碼,請遵循下列步驟。

重要附註 停用這項預設行為的 ISA Server 2006 SP1,(以容納這類應用程式) 可能也會讓 ISA Server 可能會讓有已特別製作的 「 跨網站要求偽造 」 攻擊時 ISA Server 使用表單型驗證的 Url。
  1. 啟動 [記事本]。
  2. 將下列指令碼貼到新文件中。
    Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"
    Const SE_VPS_NAME = "AllowNewlineInURL"
    Const SE_VPS_VALUE = true
     
    Sub SetValue()
     
        ' Create the root object.
        Dim root  ' The FPCLib.FPC root object
        Set root = CreateObject("FPC.Root")
     
        'Declare the other objects needed.
        Dim array       ' An FPCArray object
        Dim VendorSets  ' An FPCVendorParametersSets collection
        Dim VendorSet   ' An FPCVendorParametersSet object
     
        ' Get references to the array object
        ' and to the network rules collection.
        Set array = root.GetContainingArray
        Set VendorSets = array.VendorParametersSets
     
        On Error Resume Next
        Set VendorSet = VendorSets.Item( SE_VPS_GUID )
     
        If Err.Number <> 0 Then
            Err.Clear
     
            ' Add the item
            Set VendorSet = VendorSets.Add( SE_VPS_GUID )
           CheckError
            WScript.Echo "New VendorSet added... " & VendorSet.Name
     
        Else
            WScript.Echo "Existing VendorSet found... value- " &  VendorSet.Value(SE_VPS_NAME)
        End If
     
        if VendorSet.Value(SE_VPS_NAME) <> SE_VPS_VALUE Then
     
            Err.Clear
            VendorSet.Value(SE_VPS_NAME) = SE_VPS_VALUE
     
            If Err.Number <> 0 Then
                CheckError
            Else
                VendorSets.Save false, true
                CheckError
     
                If Err.Number = 0 Then
                    WScript.Echo "Done with " & SE_VPS_NAME & ", saved!"
                End If
            End If
        Else
            WScript.Echo "Done with " & SE_VPS_NAME & ", no change!"
        End If
     
    End Sub
     
    Sub CheckError()
     
        If Err.Number <> 0 Then
            WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description
            Err.Clear
        End If
     
    End Sub
     
    SetValue
  3. 在上 檔案 功能表中,按一下 另存成然後儲存成檔案 AllowNewlineInURL.vbs.
  4. 在命令提示字元中,輸入下列命令,命令並按 Enter:
    AllowNewlineInURL.vbs cscript
若要回到預設的行為,在 ISA Server 2006 Service Pack 1 封鎖可能包含跨網站要求偽造攻擊的風險,當您使用表單型驗證的 Url,請遵循下列步驟:
  1. 啟動 [記事本],然後再開啟 [AllowNewlineInURL.vbs] 指令碼。
  2. 指令碼中,找出下列程式碼行。
    Const SE_VPS_VALUE = true
    
  3. 變更下面這一行程式碼:
    Const SE_VPS_VALUE = false
    
  4. 在上 檔案 功能表中,按一下 儲存.
  5. 在命令提示字元中,輸入下列命令,命令並按 Enter:
    AllowNewlineInURL.vbs cscript

狀況說明

Microsoft 已確認這是 「 套用 」 一節所列的 Microsoft 產品中的問題。

?考

如需有關軟體更新術語的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
編號 824684 用來描述 Microsoft 軟體更新標準術語的說明

屬性

文章編號: 2622172 - 上次校閱: 2011年10月6日 - 版次: 2.0
這篇文章中的資訊適用於:
  • Microsoft Internet Security and Acceleration Server 2006 Service Pack 1?應用於:
    • Microsoft Internet Security and Acceleration Server 2006 Enterprise Edition
    • Microsoft Internet Security and Acceleration Server 2006 Standard Edition
關鍵字:?
kbfix kbqfe kbexpertiseadvanced kbsurveynew kbhotfixserver kbhotfixrollup kbmt KB2622172 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:2622172
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com