파일 다운로드 공격


파일 다운로드 공격

1. 파일 다운로드 취약점이란 ?

  • 파일 다운로드 취약점은 파일 다운로드 시 애플리케이션의 파라미터 값을 조작하여 웹사이트의 중요한 파일 또는 웹 서버 루트에 있는 중요한 설정 파일 등을 다운받을 수 있는 취약점이다.

  • 다운로드 파일이 지정된 디렉토리 이외에 접근이 가능할 때 발생하는 취약점이므로 허용된 경로 이외의 디렉터리와 파일에 접근이 불가능하도록 적용해야 한다.

2. 공격 방법

파일 다운로드 공격 진행 시 버프스위트로 요청 값을 확인한다. ** 참고자료 암·복호화확인 ** 파일다운로드시_요청값

요청값을 통해 api endpoint는 /api/qna/filedown라는 것과, 파일 다운로드는 GET 방식으로 진행되며 파라미터는 filename 으로 upload/파일이름 형태인 것을 확인할 수 있다.

없는파일요청

리피터를 통해 없는 파일을 요청하면 다음과 같은 응답값을 보내준다.

요청시 응답값 응답값은 암호화가 되어있는 형태이기 때문에 복호화가 필요하다. 복호화한 응답값

응답값을 복호화하면 다음과 같은 결과가 나오는데 오류 메세지로 filedown은 lib/api/Qna/filedown.js에서 관리하는 것을 알 수 있다.

filedown.js코드를 확인하기 위해 다운로드를 진행해 본다.

filedown.js다운 요청값

filedown.js파일 다운로드 요청 사항이다.

filedown.js다운 응답값

응답 값으로 다운로드에 성공했고, filedown.js의 소스가 나오는 것을 확인할 수 있다.