Path(Directory) Traversal
사용자가 입력값을 조정하여 허용되지 않은 경로에 접근하거나 파일을 볼 수 있는 방법
경로 탐색 취약점이라고도 불린다.
이 방법은 Path 방식으로 파일 및 디렉토리를 관리하는 서버에서 사용할 수 있는 방법이다.
File을 처리하는 과정에서 많이 발생하며 파일 이름 등을 사용자로부터 입력받는 서버에서 사용자가 ../과 같은 디렉토리 이동 명령어를 이용해 상위 디렉토리로 접근하거나 허용 디렉토리의 범위를 벗어난 파일을 읽을 수 있다.
이러한 Path Traversal의 예시로는 다음 글과 같이 사용자로부터 입력받은 값을 이용해 어떤 경로에 접근하는 경우 사용자가 디렉토리 이동 코드 등을 사용하면 다른 디렉토리로 접근하여 정보를 볼 수 있다는 것을 알 수 있다.
2022.04.04 - [보안/Dreamhack] - Dreamhack: pathtraversal
적절한 대비가 되어있지 않다면 이론상 사용자가 리눅스로 만들어진 Path 방식 서버에서 /etc/passwd나 /etc/shadow로 이동해 파일을 볼 수 있다는 뜻이다.
이를 예방하기 위해 사용자의 입력값에 /과 같은 특수문자를 필터링 하거나 치환하는 방법이 있다.
또는 해당 프로세스가 이동할 수 있는 최대 directory를 지정하는 방법을 사용할 수 있다.
'IT > 개념' 카테고리의 다른 글
File Download 취약점 (0) | 2022.04.05 |
---|---|
쿠키(Cookie)란? (0) | 2022.04.03 |
Source Map이란? (0) | 2022.03.09 |
난독화를 하는 이유 (0) | 2022.03.08 |