파일 system을 이용하는 서버의 취약점을 이용하여, 임의 파일을 다운로드나 웹셸을 업로드 하는 행위가 가능
파일 업로드 취약점
파일 다운로드 취약점
결론
업로드 취약점을 막으려면 개발자는 업로드 디렉토리를 웹 서버에서 직접 접근할 수 없도록 하거나, 업로드 디렉토리에서는 CGI가 실행되지 않도록 해야 하고 업로드된 파일 이름을 그대로 사용하지 않고 basepath
와 같은 함수를 통해 파일 이름을 검증한 후 사용해야 합니다. 또한 허용할 확장자를 명시해 그 외 확장자는 업로드될 수 없도록 해야 합니다.
다운로드 취약점을 막으려면 요청된 파일 이름을 basepath
과 같은 함수를 통해 검증하거나 파일 이름과 1:1 맵핑되는 키를 만들어 이용자로부터 파일 이름이 아닌 키를 요청하도록 해야 합니다.