PR CENTER

뉴스룸     |     료실

mobile background

PR CENTER

HTTP 메소드 중 PUT, DELETE 등이 보안에 문제가 되는 이유

관리자
2025-04-01
조회수 155

□ WEBDAV(웹 분산 저작 및 버전 관리) 개념

     - WEBDAV : Web-based Distributed Authoring and Versioning

     - 원래 웹 서버에 파일을 원격으로 업로드·수정·삭제할 수 있게 해주는 HTTP 확장 기능입니다

     - 마치 공유 폴더처럼 서버의 파일 시스템을 웹을 통해 조작할 수 있게 하는 기술입니다.

 

□ PUT, DELETE, PATCH와 WEBDAV의 관계

     - HTTP 표준 메소드로 PUT, DELETE 등은

       서버 자원 생성(업로드), 삭제, 수정 기능을 수행합니다.

     - 서버에 WEBDAV 기능이 활성화된 상태에서 PUT, DELETE 요청이 들어오면

       "파일을 직접 추가·삭제·수정하라"는 의미로 해석되며, OS 레벨의 파일 변경 요청까지 이어질 수 있습니다.

     - 웹 서버는 보안상 기본적으로 이 메소드들을 제한하거나 무시하도록 되어 있습니다.

 

□ 왜 웹서버는 이 기능을 기본 비활성화 할까요?

     - 원래 웹서버는 정적 콘텐츠 제공이 주 목적이고, 파일을 임의로 바꾸는 것은 보안적으로 매우 위험합니다.

     - PUT, DELETE, PATCH를 허용하면,

       인증이 제대로 안된 상태에서 공격자가 웹 shell이나 악성 스크립트를 서버에 올리거나 지우는 것이

       가능해집니다.

     - 특히 WEBDAV 모듈이 켜져 있으면 이런 조작이 파일 시스템 레벨로 연결되기 때문에,

       서버 전체가 뚫리는 결과를 초래합니다.

 

□ 취약점 예시

     1. 서버에서 실수로 WEBDAV 활성화

     2. 공격자가 PUT으로 웹 Shell 업로드

     3. DELETE로 기존 로그 삭제

     4. 이후 관리자 권한 획득 → 전체 서버 장악

 

□ 상황 재현 예제

     - Apache - WEBDAV 활성화 서버 준비

     - PUT을 사용해 웹 shell 업로드 - 백도어 Bash 스크립트 작성


       • WEBDAV를 이용한 업로드

          - curl -X PUT http://www.test.com/webdav/test.sh —data-binary @test.sh

            ; PUT이 뚫려 있으니 curl 명령어로 서버에 요청을 하여 webdav 디렉토리 하위에 test.sh를 업로드

              . 같은 디렉토리에 test.sh가 있는 경우

              . 특정 경로의 파일을 업로드 하는 경우

          - curl -X PUT http://www.test.com/webdav/test.sh —data-binary @/home/user/desktop/test.sh

            ; 실행

           우리가 터미널에서 명령어를 입력한 것처럼 처리 가능합니다.

             . curl http://www.test.com/webdav/shell.sh?QUERY_STRING=id

             . 단순 http 요청을 통한 명령 실행, 리버스 셸 이 가능하며

               특정 상황에선 cron, SSH 키 등록, SUID 권한 상승 등과 결합이 가능합니다.

             . 예제 : curl http://target.com/webdav/shell.sh?QUERY_STRING=cat /etc/passwd

      - 백도어 파일 업로드 가능 예시

        ; ELF 바이너리

        ; PHP

        ; javascript

        ; python


□ HTTP1.1 표준 메소드의 사용목적과 보안문제

메소드

기본 목적

보안 취약점 원인

GET

• 리소스 조회 요청

   - URL로 요청, 바디 없음

• URL 조작 통한 정보 노출

• 캐싱 문제

• CSRF 공격 시도 가능

POST

• 리소스 생성 또는 데이터 제출

   - 폼 전송, 업로드 등

• 입력 검증 미비 시 XSS, SQL Injection 발생 가능

• 과도한 데이터 업로드로 DoS 공격 위험

PUT

• 지정한 경로에 리소스 생성 또는 덮어쓰기

• WEBDAV 활성화 시 파일 업로드 취약점

• 인증/권한 관리 실패 시 웹쉘 업로드 가능

DELETE

• 지정한 리소스를 삭제

• 인증/권한 관리 실패 시 파일 삭제 가능

• WEBDAV 연동 시 치명적인 무단 삭제 가능

PATCH

• 기존 리소스의 일부 수정

• 입력 검증 실패 시 무단 코드 변경 가능

• 잘못된 패치 적용으로 시스템 무결성 손상 가능

OPTIONS

• 서버가 지원하는 메소드 목록 확인

• 공격자가 서버 기능 파악 후 공격 경로 분석에 사용 가능

HEAD

• GET과 동일하나 본문 없이 헤더만 반환

   - 상태 확인 용도

• 잘못된 헤더 처리로 정보 노출 가능

• 보안 헤더 누락 시 서버 정보 노출

TRACE

• 요청 경로 추적 및 테스트

   - 요청을 그대로 응답

• Cross Site Tracing(XST) 공격 가능

• 쿠키나 인증정보가 반환되어 정보 탈취 가능

CONNECT

• 프록시 터널링

   - 주로 HTTPS 프록시로 연결 시 사용

• 프록시 서버 악용 시 포트 스캐닝 및 내부 네트워크 

  스캔 가능

• 잘못된 설정 시 비인가 터널링 가능

PRI

• HTTP/2 연결 초기화 시 내부 프로토콜 관리용

   - 일반 사용 없음

• 일반 요청에는 사용되지 않지만, 잘못된 구현 시 프로토콜

   오류 발생 가능


□ WebDAV Extension 확장 메소드

메소드

기본 목적

보안 취약점 원인

PROPFIND

• 리소스 속성 및 메타데이터 조회

   - 파일 목록, 권한, 생성일 등

• 불필요한 정보 노출

• 권한 없이 서버 내부 파일 및 디렉터리 구조 노출 가능

PROPPATCH

• 리소스 속성 수정

   - 메타데이터 변경

• 권한 검증 실패 시 공격자가 리소스 속성 및 권한 변경 

   가능

MKCOL

• 새로운 컬렉션(디렉터리) 생성

• 인증 및 권한 검증 실패 시 공격자가 서버에 디렉터리

   생성 → 악성 파일 업로드 경로 확보

COPY

• 리소스를 다른 위치로 복사

• 경로 우회 및 디렉터리 트래버설 취약점 유발 가능

MOVE

• 리소스 이동

• 무단 이동 시 파일 변조 및 우회

LOCK

• 리소스를 잠그고 다른 사용자의 접근을 제한

• 영구 잠금 또는 잠금 자원 탈취 가능

UNLOCK

• 잠금 해제

• 인증 실패 시 공격자가 잠금 해제 후 파일 변경 가능

VERSION-CONTROL

• 리소스의 버전 관리 시작

• 내부 상태 및 버전 정보 과도 노출 가능

REPORT

• 리소스의 버전 및 상태 리포트 요청

• 무단 커밋 시 서버 코드 조작 및 변조 가능

CHECKIN

• 변경된 리소스의 새로운 버전을 커밋

• 인증 실패 시 공격자가 변경 잠금 상태를 해제하고

   조작 가능

CHECKOUT

• 리소스를 편집 가능한 상태로 전환

• 무단 취소로 다른 사용자의 작업 중단 및 충돌 유발 가능

UNCHECKOUT

• 체크아웃(잠금) 취소

• 무단 병합 시 서버의 예상치 못한 상태 변경, 소스 코드

   변조 가능

MERGE

• 다른 브랜치나 변경 내용 병합

• 인증 검증 실패 시 공격자가 독립 작업 공간 생성 후 

   악의적인 테스트 및 파일 업로드 가능

MKWORKSPACE

• 새로운 작업 공간 생성

• 무단 업데이트로 시스템 변경 및 악성 코드 주입 가능

UPDATE

• 워크스페이스 또는 리소스 업데이트

• 라벨 조작 시 중요 리소스를 위장하거나 관리 혼란 유발 

   가능

LABEL

• 특정 리소스 또는 버전에 라벨 지정

• 순서 조작을 통한 취약점 탐색 및 시스템 동작 혼란 가능

ORDERPATCH

• 컬렉션 내 리소스 순서 변경

• 파일 참조 우회 및 권한 우회 가능

BIND

• 리소스에 새로운 경로를 추가

   (다른 경로에 동일 리소스 연결)

• 인증 검증 실패 시 중요한 경로 제거로 서비스 혼란 및

   DoS 가능

UNBIND

• 경로 바인딩 제거

• 잘못된 경로 재배치로 경로 탈취 및 권한 우회 가능

REBIND

• 경로를 다른 경로로 이동

• 내부 상태 및 버전 정보 과도 노출 가능


□ WEBDAV 확장 메소드의 목적

     1. 웹 서버를 파일 공유 서버처럼 사용할 수 있도록 확장하는 기능입니다.

     2. 주요 메소드

        - PUT → 파일업로드

        - DELETE → 파일삭제

        - MKCOL → 디렉토리 생성

        - MOVE → 파일이동

          ; 권한 우회 가능

            . 서버가 .php파일의 실행을 제한하는 경우, 공격자는 WEBDAV의 MOVE 기능을 사용하여 파일. 확장자를 변경 할 수 있음

            . 명령어 예제 :

              curl -X MOVE --header "Destination: http://www.test.com/webdav/test.php" http://www.test.com/webdav/test.txt

        - PROPFIND → 파일 속성 조회

          ; 정보수집 가능 : 이 메소드를 사용하여 서버에 어떤 파일과 디렉토리가 있는지 조회 가능

            . 명령어 예제

              curl -X PROPFIND http://www.test.com/webdav/

            . 응답에서 파일 목록과 속성 정보를 확인할 수 있음. (webdav 하위만 조회 가능)

            . 단, 만약 WebDAV 설정이 /에 적용되어 있다면, /의 파일 목록까지 조회될 수도 있음.

            . 공격자가 어떤 파일이 업로드 되어있는지, 어떤 권한이 있는지 파악가능.

 

□ 공통적인 취약점 원인

     - 권한 및 인증 검증 미비

     - 서버의 파일/폴더 조작 기능 노출

     - 경로 및 리소스 조작으로 시스템 무결성 손상

     - 잠금, 버전 컨트롤, 병합 기능의 남용으로 서버 혼란 유발

 

□ 특히 더 주의 해야 할 메소드

     - PROPFIND, MKCOL, MOVE, LOCK, BIND, RFBIND는 대부분의 WebDAV 취약점 공격의 시작점이 됩니다.



                                                                                                                                                                                                   ⭐발표자 : 남상엽님





0 0

페이지 바로가기

@2024 K2SYSTEMS. All rights reserved.

HOME       |       ABOUT US       |       SOLUTION       |       PR CENTER       |       CONTACT       |       인재채용       |       kakao i cloud 고객센터  

@2024 K2SYSTEMS. All rights reserved.