Index file
DATE : 2023/10/26
Last updated
DATE : 2023/10/26
Last updated
앞에서 살펴본 상황을 정리해보면
protocol://hostname:port/file_path
protocol://hostname/file_path
와 같이 port가 명시된 경우, 아닌 경우로 나눌 수 있는 데
이번에 살펴볼 내용은 file path가 명시되지 않은 경우이다.
만약에 이와 같이 file path를 생략한 상태로 URL을 입력하면 어떤 결과가 나오게 될까??
결과 화면을 보면 현재 경로에 어떤 directory와 파일이 들어있는 지를 보여주고 있다.
[+] 이는 directory listing 취약점으로 악용될 수 있음!
하지만 Browser에 naver, google 을 입력해보면 페이지가 출력 되던데??
이게 어떻게 된 일이냐!! 하면
입력한 URL의 file path 부분이 비어있을 경우,
파일을 요청한 directory에 index file이 존재한다면 그 파일이 보내주는 것이다.
그래서 naver를 입력하고 들어갔을 때 보이는 페이지와
동일한 경로의 index.html을 요청한 결과 페이지가 같은 걸 확인할 수 있다.
file path를 명시하지 않은 경우 제공되는 페이지인 셈이다.
다른 말로 file path를 입력하지 않은 요청을 보내는 건 index file을 달라는 요청과 같다!
(다만 위에서 봤듯이 index file이 존재할 때만 index file이 제공 된다는 점!)
추가적으로 한 가지 더 살펴보자면
index file은 web root 경로 뿐만 아니라 각 directory마다 적용된다.
webApp directory(현재 web root 경로)에 index.html을 만들어주고
앞에서 사용했던 URL을 다시 한 번 입력해보면
index.html 내용을 확인할 수 있다.
files directory에도 index.html을 만들어주고
를 입력하면 index file이 존재하기 때문에
이와 같은 결과를 확인할 수 있을 것!
(1) index file = 아무런 file path 값이 명시되지 않을 경우 제공되는 파일
(2) file name이 명시되지 않으면 해당 directory의 index file 내용이 출력된다.
(3) index file은 각 directory마다 적용이 가능하다!