Index file

DATE : 2023/10/26

[ Index file ]

앞에서 살펴본 상황을 정리해보면

  • protocol://hostname:port/file_path

  • protocol://hostname/file_path

와 같이 port가 명시된 경우, 아닌 경우로 나눌 수 있는 데

이번에 살펴볼 내용은 file path가 명시되지 않은 경우이다.

http://192.168.183.129:1018/

만약에 이와 같이 file path를 생략한 상태로 URL을 입력하면 어떤 결과가 나오게 될까??

결과 화면을 보면 현재 경로에 어떤 directory와 파일이 들어있는 지를 보여주고 있다.

[+] 이는 directory listing 취약점으로 악용될 수 있음!

하지만 Browser에 naver, google 을 입력해보면 페이지가 출력 되던데??

이게 어떻게 된 일이냐!! 하면

입력한 URL의 file path 부분이 비어있을 경우,

파일을 요청한 directory에 index file이 존재한다면 그 파일이 보내주는 것이다.

그래서 naver를 입력하고 들어갔을 때 보이는 페이지와

동일한 경로의 index.html을 요청한 결과 페이지가 같은 걸 확인할 수 있다.

결론적으로 Index file은

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을 만들어주고

http://192.168.183.129:1018/files/

를 입력하면 index file이 존재하기 때문에

이와 같은 결과를 확인할 수 있을 것!

[ summary ]

(1) index file = 아무런 file path 값이 명시되지 않을 경우 제공되는 파일

(2) file name이 명시되지 않으면 해당 directory의 index file 내용이 출력된다.

(3) index file은 각 directory마다 적용이 가능하다!

Last updated