Pentest Playbook

파일 업로드

파일 업로드 취약점에서 기본으로 활용되는 방법과 클라이언트 측 검증을 우회하는 방법에 대해서 설명하고자 한다.

1. 클라이언트 측 확장자 검증 방식

웹 서비스에서 파일 업로드 기능을 사용할 때, 업로드되는 파일 확장자를 클라이언트 측 JavaScript 코드를 이용해서 검증하는 경우가 있다.

파일 확장자 검증이 서버가 아닌 클라이언트에서만 수행한다면, 직접 파일 업로드 API를 호출 및 요청하거나 클라이언트 코드를 일시적으로 변조해서 우회할 수 있다.

  1. JavaScript 코드 및 함수에 명시된 확장자 우회
  2. 확장자 검증 기능 일시적 비활성화 및 삭제(새로고침 및 재접근 전까지 유지)

1.1. 클라이언트 검증 우회 예시


ESC

💡 검색 팁

  • #T1572 - 태그로 검색
  • persistence - 키워드로 검색