Path traversal

2024. 1. 24. 14:58·웹해킹

-Path traversal 이란?

 

Path traversal 이란 디렉토리 순회로도 알려져 있습니다. 이 취약점은 공격자가 어플리케이션이 동작중인 서버의 임의의 파일을 읽을수 있게 됩니다. 이러한 것들 중에는:

  • 어플리케이션 코드와 데이터
  • 백 엔드 시스템의 자격
  • 민감한 운영체제 파일

때로는 , 공격자가 임의의 파일을 수정할수도 있고 , 이후 어플리케이션의 데이터나 행동양식을 수정할수도 있게되며 , 결국 서버의 전체 컨트롤 권한을 가져가기도 합니다. 

 

 

-Path traversal 를 이용한 임의의 파일 읽기

 

쇼핑 어플에 있는 상품의 이미지를 생각해봅시다. 그 이미지가 이 HTML 구문을 따른다고 생각해보면

  <img src="/loadImage?filename=218.png">

/loadimage   URL은  filename  의 매개변수를 사용하고 지정된 파일을 반환합니다.(이것을 엔드포인트 URL 이라고 합니다)

이 상황에선 이미지는 /var/www/images/ 에 저장되어 있다고 생각합니다.(실제론 다른 경로에 있을수 있음)

 

즉 여기서 /loadImage?filename=218.png = /var/www/images/218.png 라는것과 같습니다.

이 어플리케이션은 path traversal 공격에 취약합니다. 그 결과 이 파일의 URL 에다가

https://insecure-website.com/loadImage?filename=../../../etc/passwd   라고 넣어주게 되면 

https://insecure-website.com/var/www/images/../../../etc/passwd 와 같은 경로로 이동하여서 서버의 passwd 디렉토리에 있는 파일을 보여주게 됩니다. 

 

※<여기서 /.. 이라는 뜻은 지금 내가 위치한 디렉토리에서 뒤로가기 라는 뜻입니다! 즉 images 라는 폴더에 내가 위치하여 있는데 /.. 으로 한번 뒤로가서 /www 로 이동했지만 또 /.. 을 사용하여 뒤로가서 /var 에 왔지만 또 /.. 을 사용하여 https://insecure-website.com 로 와준 후에 여기서 /etc 폴더로 이동후 passwd 폴더로 이동했다는 뜻입니다.>

 


<실습>

 

실습 사이트로 들어왔습니다. 일단 상품 이미지가 많은것을 보실수 있습니다.


 

이 페이지의 코드를 보시면 /image 라는 엔드포인트를 사용하고 38.jpg라는 이미지를 가져오시는것을 볼수있습니다.

그러면 즉 /var/www/images/38.jpg 라는 뜻이니깐  38.jpg 에다가 /../../../etc/passwd 를 넣게되면 passwd 디렉토리 안에 있는 내용을 볼수 있을것 같습니다.


파란줄 되어있는 저 부분을 저렇게 바꾸어주었더니 사진이 아이콘 표시가 뜨면서 오른쪽 상단의 Sloved 표시가 떳습니다.

일단 문제가 해결되었다는건데... 저는 passwd 파일에 어떤 내용이 있는지 궁금하니 그 내용을 확인하겠습니다.

 


 

저 아이콘을 드래그 한후 새창에서 열기 를 해준후 burp Suite 프로그램을 사용한 브라우저에서 열어주었습니다.

 

그리고 burp suite 으로 내용을 확인해보니 ...

 


이런 식의 디렉토리 경로가 추출된것을 확인하실수 있습니다.

아직까지는 왜 이런 경로가 크게 문제가 되는지는 잘 모르겠으나 차차 공부하면서 알게될 것 같습니다..

'웹해킹' 카테고리의 다른 글

SQL Injection(SQLi)  (0) 2024.05.27
File upload vulnerabilities  (0) 2024.01.30
SSRF(Server-side request forgery)  (0) 2024.01.29
Authentication vulnerabilities  (1) 2024.01.26
Access control  (2) 2024.01.25
'웹해킹' 카테고리의 다른 글
  • File upload vulnerabilities
  • SSRF(Server-side request forgery)
  • Authentication vulnerabilities
  • Access control
무너박사
무너박사
IT 보안 블로그 입니다. 제가 작성하는 블로그가 누군가의 공부에 조금이라도 도움이 되길 바라며 작성하였습니다.
  • 무너박사
    무너박사의 연구일지
    무너박사
  • 전체
    오늘
    어제
    • 분류 전체보기 (104)
      • WEB 지식 (3)
      • 웹해킹 (13)
      • 웹개발(PHP-Mysql) (12)
      • 웹개발(JSP-Oracle) (2)
      • 워게임 문제풀이 (19)
        • Segfault (17)
        • Dreamhack (2)
      • SQL (3)
      • Python (2)
      • AI (1)
        • LLM(Large Language Model) (1)
      • Kail Linux (3)
      • 잡다한 지식 (2)
      • 모바일 앱개발(Kotlin-PHP-Mysql) (13)
      • 모바일 앱해킹(Android) (31)
        • Frida Lab (2)
        • Android DIVA (8)
        • Insecure Bank (20)
      • 안드로이드 위협 탐지 및 우회 (0)
        • 루팅 탐지 & 우회 (0)
        • 디버깅 탐지 & 우회 (0)
        • 에뮬레이터 탐지 & 우회 (0)
        • Frida 탐지 & 우회 (0)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      php
      인시큐어뱅크
      앱해킹
      Kotlin
      mobile diva
      dom based xss
      시스템해킹
      MySQL
      안드로이드 스튜디오
      취업반 6기
      normaltic
      해킹
      모바일 앱개발
      인시큐어 뱅크
      워게임
      Koltin
      모의해킹
      sql injection
      취업반
      insecure bank
      Android Studio
      XSS
      취업반6기
      모바일앱개발
      웹해킹
      칼리리눅스
      Blind sql injection
      android diva
      리패키징
      모바일 앱해킹
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    무너박사
    Path traversal
    상단으로

    티스토리툴바