BLOG

Directory Traversal (디렉토리 순회) 본문

SECURITY/Vulnerability

Directory Traversal (디렉토리 순회)

Radbit 2019. 10. 16. 23:01

해커가 민감한 파일에 액세스 할 수 있는 가능성을 최소화 하기 위해

URL에 파일 경로를 안전하게 표시해야 함.

 

웹서버는 자주 URL에 파일 시스템에 존재하는 특정한 파일 포맷이나 정보들을 보여준다.

일반적으로 서버에 있는 파일을 URL 구조로 출력해주는 것이다.

 

이런 친절한 기능으로 인해, 너무나 쉽게 허용을 해줘서 파일을 불러올 수 있다.

그렇기 때문에 해커들은 이 취약점을 이용해 파일에 액세스를 할 수 있다.

 

domain.com/menus

위 URL이 있다고 해보자. 이 웹사이트에는 A,B,C라는 하이퍼링크가 존재한다. 

이 중 하나인 A라는 하이퍼링크를 클릭해 연결된 file이라는 pdf파일을 다운받게 된다고 한다면,

 

domain.com/menus?menu=file.pdf 

위와 같은 쿼리 문자열인 menu 파라미터에 file.pdf를 요청한 것이 보인다.

 

이렇게 있는 그대로인 파일 이름이 다운로드 URL에 사용된다면 

해커는 menu 파라미터를 이용해 디렉토리를 거슬러 올라갈 수 있다.

 

domain.com/menus?menu=../../../etc/passwd (예)

유닉스로 호스팅이 된 서버에 위처럼 절대적이 아닌 상대적 파일 탐색 구문을 사용하면

서버가 유효성을 검사하지 않기 때문에 민감한 파일에 액세스를 할 수 있다.