Web Study/Theory

파일 다운로드 취약점(File Download Vulnerability)이란?

2023. 12. 30. 20:49

QUOTE THE DAY

Self-Talk
반응형

※ 본 내용은 공부 목적으로 작성된 내용입니다 ※ 잘못된 부분이 있으면 언제든지 댓글로 알려주세요!

 

 

파일 다운로드 취약점 원리를 알아보기 앞서 절대 경로와 상대 경로부터 살펴보겠습니다

 

절대 경로

 

컴퓨터가 지정한 파일의 최초 경로를 절대 경로라고 합니다 예를 들어 hello.txt 파일을 생성할 때 이 경로가 C:\users\document\hello.txt으로 표시된다면 hello.txt 파일의 절대 경로가 됩니다

이처럼 절대 경로를 알고 있으면 파일 위치를 어디서든 접근할 수 있습니다 그러나 절대 경로가 변경되면 그 위치를 수정해야 하는 단점이 있습니다

 

요약 : 절대적인 기준인 최초 디렉터리(/)를 기준으로 경유한 경로를 모두 기입하는 방식

 

 

상대 경로

 

현재 파일의 위치를 기준으로 파일의 상대적인 경로를 표현합니다 예를 들어 hello.txt 파일이 ./musa/hello.txt 경로에 존재할 때 절대 경로와 다르게 상대 경로는 ./ 기호를 사용합니다

 

기호 의미
/ 최상위 경로
./ 현재 경로
../ 상위 경로

 

요약 : 특정 경로를 기준으로 다른 경로를 표시하는 방식

 

절대 경로는 /(루트)가 포함된 경로를 의미하고 상대 경로는 현재 파일 위치를 기준으로 작성된 경로를 의미한다

 


 

파일 다운로드 취약점(File Download Vunerability)이란?

 

 

파일을 다운로드할 때 발생하는 취약점입니다 이 취약점이 발생하는 원리는 파일명이 포함된 URL의 파라미터를 조작하여 임의의 파일 경로의 접근하면 파일 다운로드가 가능하게 되는 취약점입니다 즉 비상적인 파일을 받는 행위를 의미합니다

 

 

파일 다운로드 취약점(File Download Vulnerability) 원리

 

파일 다운로드 취약점 원리에 대해 자세히 설명하자면 공격자가 파일명이 포함된 경로 값에 ../(상위 경로) 기호를 입력해 파일 경로를 변조합니다 이때 공격자가 변조한 파일 경로로 파일을 다운로드하게 됩니다

 

 

공격자가 기존 파일명 경로를 ../../../../../etc/passwd < 이렇게 변조 후 웹 서버에 요청하면 웹 서버는 'download.jsp'라는 애플리케이션에 요청을 전달합니다

 

download.jsp : 웹 서버의 upload 폴더에 존재하는 파일의 이름을 입력받으면 그 파일을 다운로드해주는 페이지 입니다

 

01

 

이후 ../ (상위 경로) 기호는  기존에 passwd 파일이 저장된 파일 경로 이름과 동일하게 인식되어 download.jsp를 통해 passwd 파일을 다운로드하게 해줍니다 이처럼 파일 다운로드 취약점은 passwd 파일 말고도 웹 서버에 존재하는 모든 파일들을 다운로드할 수 있기 때문에 위험합니다

 

passwd : 사용자의 정보들이 담긴 파일입니다

 

파일 다운로드 취약점(File Download Vulnerability) 보안조치

 

파일 다운로드 취약점은 ../ (상위 경로)와 같은 사용자가 입력한 값에 의해 파일이 호출되기 때문에 사용자 입력 값에 대한 검증이 필요합니다

 

 

해당 취약점을 보완하기 위해서는 사용자 입력값에 '/', '../', '\' 와 같은 문자 기호를 공백으로 치환하는 필터링 과정을 추가하거나  파일 다운로드 시 권한을 체크하여 권한이 없으면 파일 다운로드가 불가능하게 설정해 줍니다

 


Directory Traversal 이란?

 

Directory Traversal은 디렉터리 접근 공격을 말합니다 앞서 공격자가 URL 파라미터 값에 ../ (상위 경로) 명령어를 이용하여 기존에 디렉터리 경로가 아닌 상위 경로를 강제적으로 접근하는 방식을 의미합니다 즉 디렉터리에 대한 접근 권한을 우회하여 접근하는 공격 방식이라 할 수 있습니다 원리와 보안조치는 위에서 설명한 파일 다운로드 취약점과 동일합니다

 

 

 

[ 참고 자료 ]

더보기
 

절대경로, 상대경로란?

안녕하세요. 프로그래밍을 하다보면, 경로에 관한 것을 처리하곤 합니다. 이때 어떤 API는 절대 경로로 처리를, 또 다른 API는 상대 경로 로 처리를 하곤 합니다.절대 경로 , 상대 경로의 개념이 확

mommoo.tistory.com

 

파일 경로 - 절대 경로와 상대 경로

파일 경로는 대단히 중요합니다. 모듈이나 미디어 파일을 이용할 때 경로가 잘못된다면 오류가 날 수도 있고, mkdir, cd 등의 리눅스 명령어를 이용할 때도 경로를 잘못 입력하면 원하는 결과와 전

velog.io

 

 

 

3# 파일 다운로드 취약점에 대한 이해

한주간 너무 바빠서 한동안 강의를 올리지 못하고 이제 올리네요 ㅠ이제부터 본격적으로 취약점에 대해 살펴보는 시간을 가지도록 하겠습니다.ㅎㅎ웹의 구조상 원격지의 서버 내 임의의...

cafe.naver.com

 

파일 다운로드 취약점 (File Download Vulnerability)

* 파일 다운로드 취약점 : 웹 상 파일 다운로드 시, 경로 및 파일명을 파라미터로 받아 처리하는 경우, 적절한 필터링이 없어 경로 및 파일명 조작이 가능할 시, 허용되지 않은 파일을 다운 받을

isc9511.tistory.com

 

 

 

Directory Traversal

Directory Traversal 공격자가 응용 프로그램을 실행 중인 서버에서 임의의 파일을 읽을 수 있도록 허용하는 웹 보안 취약점이다. directory traversal공격을 통하여 애플리케이션 코드 및 데이터, 백앤드

rhenus9911.tistory.com

 

디렉토리 순회 | Pentest Gym | 버그바운티클럽

디렉토리 순회 (Directory Traversal) 취약점에 대해 학습하고 실습 문제를 통해 기본적인 공격 기법과 안전하지 않은 필터를 우회하는 방법을 알아봅니다.디렉토리 순회

www.bugbountyclub.com

 

What is directory traversal? | Tutorial & examples | Snyk Learn

Learn how to protect your code from directory traversal in JavaScript by exploiting a vulnerable web server.

learn.snyk.io

 

반응형
저작자표시 (새창열림)
'Web Study/Theory' 카테고리의 다른 글
  • 불충분한 인증과 인가 및 프로세스 검증 누락
  • 파일 업로드 취약점(File Upload Vulnerability)
  • SQL Injection 공격 기법
  • SQL(Structured Query Language)이란
MUSA
MUSA
Nine Point Eight

최근 댓글

최근 글

인기 글

  • MUSA
    무사
    Nine Point Eight
    • 홈

    • 방명록

    • 분류 전체보기 (124)
      • Minecraft (29)
        • Server Development (16)
        • ResourcePack (7)
        • Plugin (5)
        • Java Plugin (1)
      • Tistory (15)
        • 티스토리 수익 (3)
        • 티스토리 검색 유입 (3)
        • 티스토리 꾸미기 (9)
      • Windows (2)
      • Kali Linux (42)
        • Linux (24)
        • Bandit (18)
        • Tool (0)
      • Web Study (26)
        • Theory (14)
        • Training (12)
      • CTF (5)
        • HackTheon (1)
        • Customized CTF (2)
        • CTF Write-Up (2)
      • Forensics (1)
      • System (1)
      • Cryptography (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 반응형
  • hELLO· Designed By정상우.v4.10.3
MUSA
파일 다운로드 취약점(File Download Vulnerability)이란?
상단으로

티스토리툴바