Path Traversal 이란?
Directory traversal 디렉토리 탐색이라고도 불리는 취약점은 공격자가 현재 실행 중인 애플리케이션의 서버에서 임의의 파일을 읽을 수 있는 취약점이다. 소스코드나 데이터, 백엔드 인증정보, 운영체제의 예민한 파일 등의 정봉보에 접근할 수 있다. 심지어는 파일에 쓰기 기능까지 얻는 경우도 있고 서버의 전체 통제권을 가지게 될 수도 있는 취약점이다.
Path Traversal 취약점으로 임의의 파일을 읽는 과정
판매상품의 이미지를 보여주는 쇼핑 사이트가 있다고 해보자. 이미지를 로드하는 코드는 대충 이런 식이겠다
<img src="/loadImage?filename=218.png">
로드이미지 url이 filename 이라는 파라미터를 통해 파일의 내용을 보여준다. 그리고 이미지 파일의 위치는 /var/www/images에 있다고 한다면, 이미지를 보여주기 위해서는 파일명을 베이스 디렉토리에 요청하고 API도 사용할 것이다.
/var/www/images/218.png
-> /var/www/images/../../../etc/passwd
이미지 파일의 위치를 파악하고 나면 중요한 정보를 탈취하는데도 변조가 가능할 것이다.
../ 는 파일 경로에서 한 단계씩 올라가는 의미
윈도우에서는 ../ ..\ 둘 다 디렉토리 탐색이 가능하다고 함
실습
간단한 랩에서 실습을 해보자
상품 이미지가 로드될 때 path traversal 취약점이 있는 랩이다
/etc/passwd라는 경로에 패스워드 정보가 있다고 함
쇼핑 사이트를 열면 이렇게 썸네일 이미지들이 로드되는데
각 파켓들의 URL을 보면 filename이라는 파라미터 값이 있음
image?filename=12.jpg 이런 식으로 있으니 여기에 패스워드 경로를 넣으면 됨
../etc/passwd
../../etc/passwd
../../../etc/passwd
다 시도해 본 결과 디렉토리에서 3번 올라가니까 패스워드 정보를 찾았고
200 OK까지 출력되었다
성공!
'웹해킹' 카테고리의 다른 글
버그헌팅 기초/종류/구성요소/프로세스 윤리적 해킹에 대하여 (0) | 2025.03.06 |
---|---|
[웹해킹] Lab: File path traversal, traversal sequences stripped with superfluous URL-decode Writeup (1) | 2025.03.05 |
[웹해킹] Lab: Stored DOM XSS Writeup (1) | 2025.03.03 |
[웹해킹] XSS 공격의 원리와 종류 | Reflected XSS 실습 (0) | 2025.03.03 |
웹해킹 :: SSRF 취약점/ Lab: Basic SSRF against the local server (0) | 2025.03.01 |