반응형
문제 링크
https://portswigger.net/web-security/file-path-traversal/lab-simple
목표 & 사용 도구
목표: Path Traversal을 이용해 /etc/passwd 파일에 접근하는 것입니다.
사용도구: Burp Suite
문제 설명
해당 랩에는 상품 이미지를 보여주는 곳에서 path traversal 취약점이 존재한다고 합니다. 해당 랩을 풀기 위해서는 /etc/passwd 파일을 읽어와야 합니다.
문제 풀이
- ACCESS THE LAB을 클릭하여 랩에 접속합니다.

- Burp Suite에서 HTTP history 탭에 들어가 보면 랩에 접속했을 때 이미지를 보여주기 위해서 GET 요청으로 이미지를 가져오고 있는 것을 볼 수 있습니다.

- 이미지를 가져오는 요청 중 하나를 선택해서 Burp Suite Repeater 기능에 세팅합니다.

- filename 파라미터에 path traversal을 이용해 /etc/passwd에 접근해 보면 /etc/passwd 내용들이 전부 노출되고 있으므로 path traversal 취약점이 존재한다는 것을 알 수 있습니다.

| [설명] 유닉스 계열의 운영체제의 경우 ../ 는 상위 디렉터리 이동을 의미합니다. 서버에서 filename 파라미터로 전달 받은 값을 이미지가 저장된 경로에 붙여서 파일을 읽어오는 것으로 보입니다. 이때 별다른 필터링이나 검증을 하지 않고 filename 파라미터 값을 그대로 사용하고 있었기 때문에 ../ 를 여러 번 사용했을 때 상위 디렉터리로 이동할 수 있었습니다. ../ 를 총 3번 사용했을 때 /etc/passwd 파일에 접근이 가능했는데 이는 이미지 파일이 저장되어 있는 디렉터리가 예를 들면 /var/www/image/ 이런 식으로 되어있었다고 추정해 볼 수 있습니다. 이때 서버가 filename 파라미터 값을 전달받아서 이미지를 가져올 최종 경로를 만든다고 하면 페이로드를 입력했을 때 /var/www/image/../../../etc/passwd이 됩니다. 여기서 상위 디렉터리로의 이동이 3번 발생하므로 /var/www/ (1), /var/ (2), / (3) 까지 상위 디렉터리로 이동을 하고 마지막에 있는 etc/passwd까지 해서 최종적으로 /etc/passwd 파일에 접근을 할 수 있게 됩니다. |
- 랩의 상태가 solved 인지 확인하기 위해 웹 페이지로 돌아가 보면 문제에서 요구한 대로 /etc/passwd 내용들을 읽는 것에 성공했으므로 랩 문제를 해결하게 됩니다.

반응형
'[WEB] CTF & Wargame > PortSwigger Web Security Academy' 카테고리의 다른 글
| Lab: Stored DOM XSS (0) | 2026.07.25 |
|---|---|
| Lab: Reflected XSS with event handlers and href attributes blocked (0) | 2026.07.24 |
| Lab: File path traversal, traversal sequences blocked with absolute path bypass (0) | 2026.07.21 |
| Lab: DOM XSS in document.write sink using source location.search (0) | 2026.07.20 |
| Lab: CSRF where token validation depends on request method (0) | 2026.07.17 |
| Lab: 2FA simple bypass (0) | 2026.07.16 |