현재 오프라인 상태입니다. 인터넷에 다시 연결하기를 기다리고 있습니다.

이 브라우저는 지원되지 않습니다.

사이트를 사용하여 브라우저를 업데이트해야 합니다.

최신 버전의 Internet Explorer를 업데이트하세요.

보안 업데이트 887219(MS05-004)를 설치한 후 ASP.NET 응용 프로그램을 탐색하거나 디버깅하면 오류 메시지가 나타날 수 있다

요약
보안 업데이트 MS05-004를 설치한 후 일부 ASP.NET 응용 프로그램을 탐색하거나 디버깅하려고 하면 오류가 발생할 수 있습니다. 이 문서에서는 나타날 수 있는 몇 가지 오류 메시지에 대해 설명하고 이러한 문제를 해결하는 방법을 제공합니다.
현상
보안 업데이트 MS05-004를 설치한 후 URL에 후행 백슬래시(\)가 포함된 Microsoft ASP.NET 응용 프로그램을 디버깅하면 다음과 유사한 오류 메시지 중 하나가 나타날 수 있습니다.
리소스를 찾을 수 없습니다.
설명: HTTP 404. 찾고 있는 리소스 또는 해당 리소스에 종속되어 있는 리소스 중의 하나가 제거되었거나 이름이 변경되었거나, 일시적으로 사용할 수 없습니다. 아래 URL의 철자가 정확한지 확인하십시오.

프로젝트를 실행하는 동안 오류가 발생했습니다. 웹 서버에서 디버깅을 시작할 수 없습니다. ASP.NET 또는 ATL 서버 디버깅을 시작할 수 없습니다. 서버에 ASP.NET 또는 ATL 서버가 제대로 설치되어 있는지 확인하십시오.
원인
Microsoft Internet Information Services(IIS) 메타베이스에 지정된 URL에 후행 백슬래시(\)가 포함된 경우 이 문제가 발생합니다.
해결 방법
이 문제를 해결하려면 영향을 받는 웹 응용 프로그램에 대해 지정된 URL의 IIS 메타베이스에서 후행 백슬래시를 제거하십시오. 이렇게 하려면 다음 방법 중 하나를 사용하십시오.

방법 1: IIS 관리자 사용

  1. 시작, 실행을 차례로 누르고 cmd를 입력한 다음 확인을 누릅니다.
  2. %systemroot%\system32\inetsrv 디렉터리를 찾습니다.
  3. 명령 프롬프트에서 inetmgr을 입력하여 IIS 관리자를 엽니다.
  4. 변경할 URL에 해당하는 웹 사이트를 마우스 오른쪽 단추로 누른 다음 속성을 누릅니다.
  5. 영향을 받는 응용 프로그램이 웹 사이트 아래의 가상 디렉터리인 경우 디렉터리 탭을 누른 다음 로컬 경로 텍스트 상자에 지정된 경로에서 후행 백슬래시를 제거합니다.

    영향을 받는 응용 프로그램이 웹 사이트의 루트 디렉터리인 경우 홈 디렉터리 탭을 누른 다음 로컬 경로 텍스트 상자에 지정된 경로에서 후행 백슬래시를 제거합니다.
  6. 적용을 누른 다음 확인을 누릅니다.

방법 2: .vbs 스크립트 사용

  1. 다음과 같은 내용으로 .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. 명령줄에서 .vbs 스크립트를 실행합니다.
    1. 시작, 실행을 차례로 누르고 cmd를 입력한 다음 확인을 누릅니다.
    2. 명령 프롬프트에서 cscript [filename.vbs]를 입력합니다.

      참고 filename은 .vbs 스크립트 이름의 자리 표시자입니다.
    3. 명령 프롬프트를 닫으려면 exit를 입력합니다.
추가 정보
이 보안 업데이트를 적용하면 ASP.NET이 실제 경로와 요청된 가상 경로의 유효성에 대해 보다 엄격한 검사를 수행합니다.
참조
MS05-004 보안 업데이트에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
887219 MS05-004: ASP.NET 경로 유효성 검사 취약점으로 인한 무단 액세스 문제




Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.
속성

문서 ID: 894670 - 마지막 검토: 12/03/2007 18:42:24 - 수정: 2.6

  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft .NET Framework 1.0
  • Microsoft .NET Framework 1.0 서비스 팩 1
  • Microsoft .NET Framework 1.0 서비스 팩 2
  • 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 KB894670
피드백
microsoft.com/c.gif?DI=4050&did=1&t="> mp;did=1&t="> "//c.microsoft.com/ms.js'><\/script>");