본문 바로가기

웹 해킹

[주통기반] 로컬 웹 서버 취약점 찾기 (디렉터리 인덱싱)

디렉터리 인덱싱은 웹 애플리케이션 이용 시 웹 브라우저에 디렉터리를 요청하면 특정 디렉터리의 리스트가 출력되는 취약점입니다.

특정 디렉터리의 초기 페이지(index 파일)가 디렉터리에 존재하지 않을 경우 발생하게 됩니다.

 

디렉터리 인덱싱 취약점은 디렉터리 내 파일 리스트가 출력되기 때문에 시스템의 구조가 노출되고, 중요한 정보가 포함된 파일이나 설정 파일 등이 노출될 수 있는 위험이 있습니다.

해당 정보등을 통해 중요한 정보가 노출되고 추가적인 공격에 대한 정보가 제공될 수 있습니다.

 

1. models

1) 웹 브라우저에 models 디렉터리를 검색합니다.

models 디렉터리

 

위 파일들은 게시글과 유저를 어떻게 관리할지 작성된 파일이기 때문에 노출 시 추가적인 공격에 대한 정보를 제공할 수 있습니다.

 

2. data

1) 웹 브라우저에 data 디렉터리를 검색합니다.

data 디렉터리

 

위 파일은 데이터베이스 연결을 위한 파일로 데이터베이스 정보등이 포함되어 노출 시 데이터베이스 탈취 위험이 있습니다.

 

3. upload

1) 웹 브라우저에 upload 디렉터리를 검색합니다.

upload 디렉터리

 

upload 디렉터리는 프로필 사진 변경을 위해 업로드된 이미지가 저장되어 있는 디렉터리로 파일 다운로드 취약점에서 원하는 파일의 경로를 제공할 수 있습니다.

 

[대응 방안]

httpd.conf 파일 DocumentRoot 항목의 Options에서 Indexes 제거합니다.

Indexes가 해당 디렉터리의 파일 록을 보여주는 지시자입니다.

 

저의 웹 서버는 apache 라서 아파치 설정 파일을 변경해주면 됩니다.

저는 우분투이므로 /etc/apache2/apache2.conf 파일의 DocumentRoot 항목의 Options 뒷 부분을 지워주면 됩니다.

일반적으로는 httpd.conf 파일입니다.

설정 전 파일 내용

 

설정 후 파일 내용

 

설정은 완료됐습니다.

이제 서비스 재시작 후 적용되었는지 확인해보겠습니다.

models
data
upload

 

이렇게 주통기반으로 발견한 두번째 취약점도 찾고 대응까지 적용해보았습니다.