English
◀◁ 뒤로
취약점ID 22184
위험도 30
포트 80, ...
프로토콜 TCP
분류 WWW
상세설명 해당 IIS 웹 서버는 가상 UNC 공유 취약점으로 인하여 ASP/HTR 소스 코드를 노출할 수 있다.
UNC(Universal Naming Convention) 는 실제 시스템 내의 공유 파일이 저장되어 있는 장치를 명시하거나 알지 않더라도 네트워크 상에서 자원을 확인하기 위한 방법이다. 이는 모든 Microsoft 네트워킹 제품에서 지원되며 UNC 명명 형식은 "\\서버이름\공유이름\경로\공유파일" 와 같다. 일반적으로, IIS 웹 서버는 ASP 파일과 같이 보다 진보된 형식의 파일을 요청 받을 때, 요청된 파일의 확장자를 검사하여 파일을 처리할 스크립팅 엔진(scripting engine)을 결정하게 된다. 그러나, 만약 IIS 서버 상의 가상 디렉토리가 UNC 공유와 매핑되어 있고, 공격자들이 UNC 공유 상에 존재하는 파일 확장자 뒤에 특수한 문자를 덧붙여 요청하게 되면, 서버는 파일을 스크립팅 엔진에 의해서 처리될 파일로 간주하지 않고 단지 올바른 위치를 검색하여 클라이언트 브라우저에 파일 자체를 전달하게 된다. 예를 들어, 이 소스 코드 노출 취약점은 원격지 공격자들이 다음과 같이 UNC 공유에 의해서 접근 가능한 "index.asp" 파일 뒤에 특수한 문자 백 슬래쉬("\")를 덧붙여 서버에 요청할 때 발생한다:

GET /index.asp%5C(or /index.asp\) HTTP/1.0

일반적으로, ASP 파일이나 보다 진보된 형식의 파일은 파일 소스코드가 아닌 처리를 통해 얻어진 결과물이 클라이언트 브라우저에 전달되어야 한다. 그러나, 이 취약점은 클라이언트 브라우저에게 파일의 소스 코드를 전달하도록 함으로써 공격자들이 소스 코드에 포함되어 있을 지 모르는 패스워드와 같은 중요한 정보들을 획득할 수 있게 해 준다.

* 알림 : 다음과 같은 중요한 제약 사항으로 인하여 이 취약점을 이용한 공격은 다소 어려울 수 있다.
1. 기본적으로 가상 디렉토리는 파일의 실제 위치를 숨기게 되어 있기 때문에, 공격자가 파일이 실제로 UNC 공유 상에 위치하는 지 알 수 없다.
2. 대부분의 브라우저들은 특수 문자가 포함된 요청들에 대해서 문자를 제거하거나 변경한다.
3. 권고한 보안 지침을 따를 경우, .ASP 와 서버 사이드 프로세싱을 필요로 하는 다른 파일들은 중요한 정보를 포함하지 않는다.

* 참고 사이트 :
http://www.microsoft.com/technet/security/bulletin/ms00-019.asp

* 영향을 받는 플랫폼 :
Microsoft Commercial Internet System 2.0
Microsoft Commercial Internet System 2.5
Microsoft Proxy Server 2.0
Microsoft Site Server 3.0
Microsoft IIS 4.0
Microsoft IIS 5.0
해결책 6.0 버전 이상의 IIS로 업그레이드 할 것을 권고한다.
관련 URL CVE-2000-0246 (CVE)
관련 URL 1081 (SecurityFocus)
관련 URL 4204 (ISS)