웹해킹 실습 - 6. 파일 업로드 공격

roon-replica·2022년 6월 18일
0

웹보안

목록 보기
7/8

생각들

  • 파일 인클루전 공격이 통하면 파일 업로드 공격 대응들을 다 우회할 수 있다고 하는데 어떻게 하는지 모름

개요

  • 파일 업로드 기능을 이용해서 web shell이라는 악성 파일을 업로드하고 시스템 명령을 실행할 수 있다고 함..

    web shell은
    웹 페이지를 통해 shell 명령어(시스템 명령어)를 실행할 수 있는 웹페이지의 일종이라 함.
    말 그대로 웹이라는 인터페이스로 다루는 shell

  • web shell 파일 업로드 후 업로드된 경로에 접근 가능해야 파일 업로드 공격을 할 수 있음

공격 실습

  1. web shell 파일 작성
    form으로 shell 명령어 입력받도록 하고
    애플리케이션 언어에서 제공하는 쉘 스크립트 실행 API 이용하는 식으로 코딩하면 됨

      // Run script
      Process process = Runtime.getRuntime().exec("/tmp/myscript.sh");
  2. web shell 파일 업로드

  3. 업로드한 파일 경로로 접근하고 web shell을 통해 쉘 명령어 실행하여 정보 획득

    cat /etc/passwd

대응법

  • 파일의 확장자와 내용 검사
    확장자만 검사하는 경우, 파일의 확장자만 속여서 업로드할 수도 있으니
    믿을 수 없는 사용자가 존재할 수 있으면 내용도 검사해야 한다고 함..

  • 파일을 사용자가 접근 불가능한 경로에 저장
    파일 업로드를 위한 별도의 서버를 구축하여 웹 애플리케이션 서버와 분리하는 것도 좋다고 함
    AWS S3 쓰는 이유 중에 하나겠다

  • 파일이 업로드되는 디렉토리의 실행 권한 제거

  • 업로드된 파일의 이름을 랜덤하게 재성성하여 저장
    공격자가 자신의 파일 경로를 못찾게됨

  • 파일 인클루전? 취약점이 존재하면 우회할 수 있다고 함... 잘 모름

profile
집중 ➝ 프로세서↑ 시간 투자 ➝ 디스크↑

0개의 댓글