정보보안

WEB-INF 취약점

codename_JEN 2024. 5. 16. 12:07

WEB-INF란?

WEB-INF는 웹 어플리케이션 환경설정 정보와 자바 class 파일들이 위치하는 특별한 디렉토리로 보안상 클라이언트의 직접적인 접근이 불가능한 디렉터리이다
이 때문에, 서버는 /WEB-INF/에 대한 직접 요청에 대해서 대개 '403 forbidden' 이나 심지어는 '404 Not Found' 등의 HTTP 에러 메시지를 반환한다.
 

/WEB-INF/web.xml

\WEB-INF 디렉토리 하의 web.xml 파일은 URL 매핑, 서블릿 등록정보, welcome 파일 목록, MIME 형식, 에러 페이지, security 등 웹 서버에 대한 정보 및 환경 설정 정보들을 담고 있다.
그러나, 이처럼 접근이 차단되어 있는 'WEB-INF' 디렉토리도 다음 예와 같이 WEB-INF 뒤에 '.' 를 삽입한 URL을 요청하는 경우에, WEB-INF 디렉토리 하에 있는 임의의 파일 내용을 볼 수 있게 된다.
예: /WEB-INF./web.xml  
 
이런 방법으로 .java , .class 파일을 다운로드할 수 있고 web.html 파일이나 기타 환경설정 파일을 접근할 수 있으며 특별한 경우에는 클라이언트 세션 정보에 대한 접근도 가능하다.

이 취약점은 다수의 Win32 버전 서블릿 엔진/어플리케이션 서버에서 발견된다.
 
[참고]
https://update.secui.com/vuln_detail_desc.asp?id=22106&page=321

/WEB-INF/web.xml 요청 시 web.xml 노출