[Web Application-모의해킹] 디렉터리 인덱싱 : 대응 방안 #4-1

2024. 4. 30. 20:31Project/Web Application-모의해킹

 

대응 방안 (feat.주요통신기반시설)

 

1) 점검 방법

 

  디렉터리 인덱싱 취약점을 점검하는 방법은 다음과 같다.

 

  • URL 경로 중 확인하고자 하는 디렉터리까지만 주소창에 입력하여 인덱싱 여부 확인
  • 디렉터리 끝에 %3f.jsp 문자열을 붙여 디렉터리 인덱싱이 되는지 확인

 

 

2) 보안설정방법

 

  디렉터리 인덱싱 취약점에 대한 대응 방안은 다음과 같다.

 

  1. 웹 서버 환경설정에서 디렉터리 인덱싱 기능 제거

 

 

3) 대표적인 대응 방안

 

  • 디렉터리 내 초기 페이지 설정
  • 웹 서버 설정 파일 변경

 

 

디렉터리 내 초기 페이지 설정

 

  디렉터리 리스팅 취약점은 웹 서버 내 각 디렉터리마다 초기 페이지가(index 페이지) 따로 설정 혹은 작성되어있지 않거나 웹 서버 설정에서 디렉터리 리스팅을 허락하도록 설정했을 경우 디렉터리 내 파일 리스트가 노출되어 이로 인해 민감한 정보가 입력된 파일을 탈취당할 수 있는 위험이 존재한다. 이를 방지하기 위하여 특정 디렉터리 내 초기 페이지를 작성하여 파일 리스트 노출을 막을 수 있다.

 

초기 페이지 설정

 

  위 사진에서 웹 서버 루트 경로로 알려져 있는 var/www/html 디렉터리 내에 index.php라는 초기 페이지를 작성한다. 초기 페이지의 내용은 주로 다른 페이지로 리디렉트하는 코드를 입력하거나 내용을 입력하지 않고 초기 페이지만 작성하는 경우도 더러 존재한다. 위의 초기 페이지 코드는 다른 페이지로 리디렉트 시키는 코드가 입력되어있다.

 

 

웹 서버 설정 파일 변경

 

  특정 디렉터리의 초기 페이지를 설정하는 방법은 웹 서버 내 디렉터리의 개수가 많아지면 일일이 설정해줘야 하는 번거로움이 존재한다. 그래서 웹 서버마다 디렉터리 리스팅 허용 여부를 설정할 수 있는 방법이 존재하고 이것을 설정해 주면 디렉터리 내 파일 리스트가 노출되는 것을 방지할 수 있다. 

 

httpd.conf 파일

 

  웹 서버 마다 설정 파일이 다르므로 Apache를 기준으로 설정하는 방법을 소개한다. 위 사진은 Apache를 사용하면 확인 가능한 설정 파일이다. 표시된 곳에서 디렉터리 리스팅 허용 여부를 설정할 수 있으며 Indexes 문자가 입력되있는 것이 기본값이다. 디렉터리 리스팅 허용을 원치않으면 Idexes 문자를 제거해주면 된다.