파일 업로드¶
파일 업로드 취약점에서 기본으로 활용되는 방법과 클라이언트 측 검증을 우회하는 방법에 대해서 설명하고자 한다.
1. 클라이언트 측 확장자 검증 방식¶
웹 서비스에서 파일 업로드 기능을 사용할 때, 업로드되는 파일 확장자를 클라이언트 측 JavaScript 코드를 이용해서 검증하는 경우가 있다.
파일 확장자 검증이 서버가 아닌 클라이언트에서만 수행한다면, 직접 파일 업로드 API를 호출 및 요청하거나 클라이언트 코드를 일시적으로 변조해서 우회할 수 있다.
- JavaScript 코드 및 함수에 명시된 확장자 우회
- 확장자 검증 기능 일시적 비활성화 및 삭제(새로고침 및 재접근 전까지 유지)