Na installatie van beveiligingsupdate 887219 (MS05-004) ontvangt u foutberichten als u bladert door of fouten oplost in een ASP.NET-toepassing


Samenvatting


Er treden mogelijk fouten op wanneer u bladert of wanneer u probeert fouten op te sporen in sommige ASP.NET-toepassingen nadat u beveiligingsupdate MS05-004 hebt geïnstalleerd. In dit artikel worden de verschillende foutberichten beschreven die mogelijk worden weergegeven. Daarnaast voorziet dit artikel in oplossingen voor deze problemen.

Symptomen


Er treden nadat u beveiligingsupdate MS05-004 hebt geïnstalleerd mogelijk fouten op wanneer u bladert of wanneer u probeert fouten op te sporen in een Microsoft ASP.NET-toepassing waarvan de URL een afsluitende backslash (\) bevat:
De bron kan niet worden gevonden.


Beschrijving: HTTP 404. De bron die u zoekt (of een van de bijbehorende afhankelijkheden) kan zijn verwijderd of is tijdelijk niet beschikbaar of de bronnaam is gewijzigd. Controleer de volgende URL en ga na of deze correct is gespeld.

Er is een fout opgetreden bij het uitvoeren van het project: Kan de foutopsporing op de webserver niet starten. Kan de foutopsporing op de ASP.NET- of ATL-server niet starten. Controleer of de ASP.NET- of ATL-server momenteel op de server is geïnstalleerd.

Oorzaak


Dit probleem treedt op als de URL die in de Microsoft Internet Information Services-metabase (IIS) is opgegeven, wordt gevolgd door een backslash.

Oplossing


Verwijder de backslash uit de IIS-metabase voor de URL die is gespecificeerd voor de desbetreffende webtoepassing om het probleem op te lossen. Gebruik een van de volgende manieren om dit te doen.

Methode 1: IIS-beheer gebruiken

  1. Klik op Start, klik op Uitvoeren, typ cmd en klik vervolgens op OK.
  2. Ga naar de map %hoofdmap van systeem%\system32\inetsrv.
  3. Typ inetmgr achter de opdrachtprompt om IIS-beheer te openen.
  4. Klik met de rechtermuisknop op de website voor de URL die u wilt wijzigen en klik op Eigenschappen.
  5. Klik op het tabblad Map en verwijder de backslash achter de URL uit het pad dat is opgegeven in het tekstvak Lokaal pad als de desbetreffende toepassing zich in een virtuele map onder de website bevindt.

    Klik op het tabblad Basismap en verwijder de backslash achter de URL uit het pad dat is opgegeven in het tekstvak Lokaal pad als de desbetreffende toepassing zich in de hoofdmap van de website bevindt.
  6. Klik op Toepassen en vervolgens op OK.

Methode 2: Een VBS-script gebruiken

  1. Gebruik de volgende voorbeeldcode om een VBS-script te maken:
    Option Explicit

    Dim objWebService, objWebSite
    Dim objSite, objArgs, strServer
    Dim WshNetwork

    Set objArgs = WScript.Arguments

    If objArgs.Length = 1 Then
    strServer = objArgs(0)
    ElseIf objArgs.Length = 0 Then
    Set WshNetwork = CreateObject("WScript.Network")
    strServer = WshNetwork.ComputerName
    Else
    WScript.Echo "Usage: CScript ModifyVDir.vbs [servername]"
    WScript.Quit
    End If
    WScript.Echo "Connecting to " & strServer

    Set objWebService = GetObject("IIS://" & strServer & "/W3SVC")

    For Each objWebSite in objWebService
    Set objSite = GetObject(objWebSite.AdsPath)
    If objSite.Class = "IIsWebServer" Then
    WScript.Echo objSite.AdsPath
    EnumVDir objSite, 1
    End If
    Next

    WScript.Echo "Done processing."

    Sub EnumVDir(objVDir, i)
    Dim objSubVDir, objDir
    Dim strNewPath

    For Each objSubVDir in objVDir
    If objSubVDir.Class = "IIsWebVirtualDir" Then
    Set objDir = GetObject(objSubVDir.AdsPath)

    If ((Right(objDir.Path, 1) = "\") and (Right(objDir.Path, 2) <> ":\")) Then
    WScript.Echo Space(i*3) & objDir.AdsPath
    WScript.Echo Space(i*3) & "Path = " & objDir.Path

    strNewPath = Left(objDir.Path, Len(objDir.Path) - 1)
    WScript.Echo Space(i*3) & "New Path = " & strNewPath

    objDir.Put "Path", strNewPath
    objDir.SetInfo
    End If

    EnumVDir objDir, i + 1
    End If
    Next
    End Sub

  2. Voer het VBS-script uit vanaf de opdrachtregel. Volg hiertoe de volgende stappen:
    1. Klik op Start, klik op Uitvoeren, typ cmd en klik vervolgens op OK.
    2. Typ de volgende opdracht achter de opdrachtprompt

      cscript [bestandsnaam.vbs]
      .

      Opmerking file_name is een tijdelijke aanduiding voor de naam van uw .vbs-script.
    3. Typ exit om de opdrachtprompt te sluiten.

Meer informatie


Nadat u deze beveiligingsupdate hebt toegepast, voert ASP.NET strengere controles uit met betrekking tot de geldigheid van fysieke paden en opgevraagde virtuele paden.

Verwijzingen


Als u meer informatie wilt over beveiligingsupdate MS05-004, klikt u op het volgende artikelnummer, zodat het desbetreffende Microsoft Knowledge Base-artikel wordt weergegeven:

887219 MS05-004: Het beveiligingsprobleem met het valideren van het ASP.NET-pad kan leiden tot toegang door onbevoegden