[웹 취약점] 파일 업로드 및 다운로드 취약점 개념

2024. 9. 16. 00:14·CERT/Web

Web Application의 파일 업로드 및 다운로드 기능은 사용자를 편의를 도와주지만, 보안적 측면에서 취약점이 존재할 수밖에 없다고 생각한다. 보안을 강화하기 위해서 웹 방화벽과 웹셸 모니터링 와 같은 방식으로 Web Application을 보호하는 방식으로 이루어진다.
파일 업로드와 다운로드 취약점에 대한 개념과 공격자가 웹 서버를 어떠한 방식으로 공격하는지에 대한 글을 작성하고자 한다. 

파일 업로드 취약점이란?

  • 파일 취약점은 Web Application에서 사용자로부터 업로드된 파일이 서버에 대한 검증이 없이 저장할 때 발생한다. 
  • 즉 공격자가 악성 파일 (web shell, script, vrius)등을 업로드하여 서버를 공격하는 방식으로 이루어진다.

파일 다운로드 취약점이란?

웹 애플리케이션에서 사용자가 파일을 다운로드 할 수 있도록 허용하는 기능에서 발생하는 보안 취약점이다. 
파일 다운로드 시 파일의 절대경로 또는 상대 경로가 노출되는 경우에 발생하게 되는 취약점이다.

 

공격방식과 대응법

웹 서버에서는 웹 방화벽과 웹셸 모니터링을 통하여 웹 서버를 보호하게 되는데 짧은 시간에 많은 데이터가 송수신되는 과정에서 웹 방화벽은 간단한 처리만 하고 웹 서버로 데이터를 전송할 수밖에 없다. 

 

공격방식

  1. 정상파일로 위장한 악성파일은 웹 서버에 존재하게 된다.
  2. 악성파일이 웹 서버에서 원격 시스템 명령이 가능한 취약점이 생기게 된다. (즉 서버 권한을 획득한다)
  3. DMZ사에 존재하는 데이터베이스, 웹서버, DNS 서버등 취약점을 발견해서 공격을 진행한다.

대응법

이 단점을 보완하기 위해 웹셸 모니터링 기법을 사용해서 웹 서버 내 파일들을 모니터링해서 악성 파일들을 분석하고 삭제하는 방법을 사용하고 있다. 

 

 

웹 방화벽(WAF, Web Application Firewall)

웹 방화벽(WAF)은 Web Application에 대한 공격을 탐지하고 차단하기 위해 만들어진 보안 시스템이다. 웹 방화벽은 일반적으로 트래픽 분석, SQL인젝션, XSS(크로스 사이트 스크립팅), 파일 업로드 취약점, 디렉터리 탐색 공격 등 웹 공격을 방어하는 기능을 가지고 있다.

  • HTTP 요청 및 응답 필터링 : HTTP 요청과 응답을 검사하고 악의적인 패턴을 식별하고 차단함.
  • 정책 기능 필터링 : 파일 업로드, 다운로드 쿠키 조작등 특정행위를 차단한다.
  • 실시간 모니터링 : 실시간 공격을 감지하여 신속한 대응을 할 수 있게 관리자에게 알리는 기능을 가진다. 

 

 

웹셸 모니터링(Web Shell Monitoring)

웹셸(Web Shell)은 공격자가 원격에서 웹 서버를 제어하기 위해 사용하는 악성 스크립트이다. 웹셸 모니터링은 서버에 업로드된 파일 중에서 웹셸은 탐지하여 제거하는 일련의 과정을 말한다.

  • 서명 기반 탐지 : 알려진 웹셸의 패턴들을 가지고 파일을 비교하여 악성 스크립트를 탐지하는 방법.
  • 행위 기반 탐지 : 업로드된 파일의 행동을 모니터링하여, 의심스러운 동작이 생길 경우 이를 감지한다.
  • 이상 징후 모니터링 : 정상적인 시스템 동작에서 벗어난 이상 행위를 감지한다. (비정상적으로 높은 CPU 사용, 메모리 사용 등 ) 
저작자표시 비영리 동일조건 (새창열림)

'CERT > Web' 카테고리의 다른 글

[Web] PHP기반 WebShell 인증기능 추가 (part2)  (0) 2024.09.23
[Web] PHP기반 간단한 명령어 실행 WebShell 제작 (part1)  (0) 2024.09.23
[Web] PHP기반으로 Web에서 파일 업로드 제작  (1) 2024.09.17
[Web] GET&POST 방식 정의 및 차이점  (0) 2024.09.17
[웹 취약점] 웹 셸(Web shell) 정의 및 종류  (2) 2024.09.16
'CERT/Web' 카테고리의 다른 글
  • [Web] PHP기반 간단한 명령어 실행 WebShell 제작 (part1)
  • [Web] PHP기반으로 Web에서 파일 업로드 제작
  • [Web] GET&POST 방식 정의 및 차이점
  • [웹 취약점] 웹 셸(Web shell) 정의 및 종류
Sky Guard
Sky Guard
정보보안을 꿈꾸는 대학생
  • Sky Guard
    SkyGuard Space
    Sky Guard
  • 전체
    오늘
    어제
    • Total (14)
      • Goorm life (1)
        • K-Digital academy (1)
      • Information Security (1)
        • Malware Analysis (1)
      • CERT (6)
        • Web (6)
      • 자격증 (2)
        • 정보보안기사 (2)
      • 악성코드 (1)
        • Reversing (1)
      • Mobile (3)
  • 최근 글

  • 인기 글

  • hELLO· Designed By정상우.v4.10.0
Sky Guard
[웹 취약점] 파일 업로드 및 다운로드 취약점 개념
상단으로

티스토리툴바