파일 다운로드 공격
파일 다운로드 공격
1. 파일 다운로드 취약점이란 ?
파일 다운로드 취약점은 파일 다운로드 시 애플리케이션의 파라미터 값을 조작하여 웹사이트의 중요한 파일 또는 웹 서버 루트에 있는 중요한 설정 파일 등을 다운받을 수 있는 취약점이다.
다운로드 파일이 지정된 디렉토리 이외에 접근이 가능할 때 발생하는 취약점이므로 허용된 경로 이외의 디렉터리와 파일에 접근이 불가능하도록 적용해야 한다.
2. 공격 방법
파일 다운로드 공격 진행 시 버프스위트로 요청 값을 확인한다. ** 참고자료 암·복호화확인 **
요청값을 통해 api endpoint는 /api/qna/filedown라는 것과, 파일 다운로드는 GET 방식으로 진행되며 파라미터는 filename 으로 upload/파일이름 형태인 것을 확인할 수 있다.
리피터를 통해 없는 파일을 요청하면 다음과 같은 응답값을 보내준다.
응답값은 암호화가 되어있는 형태이기 때문에 복호화가 필요하다.
응답값을 복호화하면 다음과 같은 결과가 나오는데 오류 메세지로 filedown은 lib/api/Qna/filedown.js에서 관리하는 것을 알 수 있다.
filedown.js코드를 확인하기 위해 다운로드를 진행해 본다.
filedown.js파일 다운로드 요청 사항이다.
응답 값으로 다운로드에 성공했고, filedown.js의 소스가 나오는 것을 확인할 수 있다.