Poderá receber mensagens de erro quando navegam ou tente depurar uma aplicação do ASP.NET, depois de instalar a actualização de segurança 887219 (MS05-004)

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 894670
Sumário
Depois de instalar a actualização de segurança MS05-004, e, em seguida, navegar ou tentar algumas aplicações do ASP.NET de depuração, poderá detectar erros. Este artigo descreve as mensagens de erros diferentes que poderá receber. Também fornece resoluções para estes problemas.
Sintomas
Depois de instalar a actualização de segurança MS05-004, e, em seguida, navegar ou tente depurar uma aplicação Microsoft ASP.NET onde o URL contém uma barra invertida final (\), poderá receber uma das seguintes mensagens de erro:
Não é possível encontrar o recurso.
Descrição: HTTP 404. O recurso que procura (ou uma das respectivas dependências) poderia ter sido removida, que o seu nome alterado ou está temporariamente indisponível. Reveja o seguinte URL e certifique-se de que está escrito correctamente.

Erro ao tentar executar o project: não é possível iniciar a depuração no servidor web. Não foi possível iniciar o ASP.NET ou depuração no servidor ATL. Certifique-se de que o servidor do ASP.NET ou ATL está actualmente instalado no servidor.
Causa
O problema ocorre se o URL especificado na metabase do Microsoft Internet Information Services (IIS) contém uma barra invertida final.
Resolução
Para resolver este problema, remova a barra invertida final na metabase do IIS para o URL especificado para a aplicação Web afectada. Para tal, utilize um dos seguintes métodos.

Método 1: Utilizar o Gestor de IIS

  1. Clique em Iniciar, clique em Executar, tipo cmde, em seguida, clique em OK.
  2. Localize o directório %systemroot%\system32\inetsrv.
  3. Na linha de comandos, escreva inetmgr Para abrir o Gestor de IIS.
  4. Clique no Web site para o URL que pretende alterar e, em seguida, clique em Propriedades.
  5. Se a aplicação afectada for um directório virtual no Web site, clique no separador directório e, em seguida, remova a barra invertida final do caminho especificado na caixa de texto Caminho Local .

    Se a aplicação afectada no directório raiz do Web site, clique no separador Directório raiz e, em seguida, remova a barra invertida final do caminho especificado na caixa de texto Caminho Local .
  6. Clique em Aplicare, em seguida, clique em OK.

Método 2: Utilizar um script. vbs

  1. Utilizar o tp de exemplo de código seguinte criar um script. vbs:
    Option ExplicitDim objWebService, objWebSiteDim objSite, objArgs, strServerDim WshNetworkSet objArgs = WScript.ArgumentsIf objArgs.Length = 1 Then	strServer = objArgs(0)ElseIf  objArgs.Length = 0 Then	Set WshNetwork = CreateObject("WScript.Network")	strServer = WshNetwork.ComputerNameElse	WScript.Echo "Usage: CScript ModifyVDir.vbs [servername]"	WScript.QuitEnd IfWScript.Echo "Connecting to " & strServerSet 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 IfNextWScript.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	NextEnd Sub
  2. Execute o script. vbs na linha de comandos. Para tal, siga estes passos:
    1. Clique em Iniciar, clique em Executar, tipo cmde, em seguida, clique em OK.
    2. Na linha de comandos, escreva cscript [nome_do_ficheiro. vbs].

      Nota nome_do_ficheiro é um marcador de posição para o nome do script. vbs.
    3. Para fechar a linha de comandos, escreva sair.
Mais Informação
Depois de aplicar esta actualização de segurança, o ASP.NET executa verificações mais rigorosas para a validade dos caminhos físicos e caminhos virtuais pedidos.
Referências
Para obter informações adicionais sobre a segurança MS05-004 actualização, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
887219 MS05-004: Uma vulnerabilidade de validação de caminho ASP.NET pode permitir acesso não autorizado

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 894670 - Última Revisão: 09/27/2015 11:28:00 - Revisão: 3.0

Microsoft ASP.NET 1.1, Microsoft ASP.NET 1.0, Microsoft .NET Framework 1.0, Microsoft .NET Framework 1.0 Service Pack 3, Microsoft .NET Framework 1.1, Microsoft .NET Framework 1.1 Service Pack 1

  • kbhttp404 kbdev kbasp kbtshoot kberrmsg kbprb kbmt KB894670 KbMtpt
Comentários