주요정보통신기반 웹 취약 분석 평가 방법 8번째 항목인 디렉터리 인덱싱(Directory Indexing/DI)이다. (리스팅이라고 하기도 함)
드디어!! 그나마 가볍게 볼 만한 항목이 나왔다. 정말 쉽지만 그렇다고 방치하기엔 위험한 취약점이다.
특정 디렉터리에 초기 페이지 (index.html, home.html, default.asp 등)의 파일이 존재하지 않을 때 자동으로 디렉터리 리스트를 출력하는 취약점
주통기반의 디렉터리 인덱싱 취약점 설명이다. 즉, 내가 특정 디렉터리에 접근을 했는데 그 디렉터리에 초기 페이지가 없다면 디렉터리 리스트를 출력한다.
이게 디렉터리 리스트다. 웹 루트 디렉터리에 있는 bWAPP 디렉터리에 접근을 시도했더니 초기 설정 페이지가 없어서 위와 같이 뜨는 것이다. 이게 문제인 이유는 사용자들에게 공개하지 않아야 할 파일까지 저렇게 전부 출력해버린다는 점이다.
만약 내가 저기 Parent Directory를 눌렀을 때 웹 루트 디렉터리에 index 파일이 없었다면 웹 루트 디렉터리 안에 들어있는 디렉터리고 파일이고 전부 출력되는 것이다.
이게 의외로 많이 보이는 취약점이다. 이건 검색 엔진을 악용한거기도 한데 당장 구글에 검색을 해도 인덱싱 취약점을 가진 굉장히 취약한 사이트들이 검색되기도 한다.
보안설정방법에 대해 알아보자!
- Apache 서버
웹 서버 설정 파일인 httpd.conf에 들어가면 DocumentRoot 항목이 있는데 여기 있는 Options에서 Indexes 옵션을 제거하면 된다. 그러면 디렉터리 인덱싱 취약점이 사라짐!! 아주 쉽죠?? 히히
그런데 옆의 FollowSymLinks는 왜 같이 강조해둠?? > 이것도 취약한 옵션이니 제거해야 한다. 나중에 따로 한꺼번에 다룰 예정
그렇게 설정 파일을 바꿔주고 (+설정 파일을 바꿔주면 서비스를 항상 재시작해줘야 적용됨) 다시 들어가보니 403 당했다.
원래 부가 정보도 뜨면서 요런거도 나중에 설정파일에서 막아줘야 한다!! 이렇게 하려 했는데 이미 없네 뭐지. 아무튼 이것도 나중에.
- IIS 7.0
설정 > 제어판 > 관리도구 > “인터넷 서비스 관리자” 선택 후 해당 웹 사이트에서 우클릭 후 등록 정보 > [홈 디렉터리] 탭 > [디렉터리 검색] 체크 해제
- IIS 7.5/8.0/8.5/10.0
IIS(인터넷 정보 서비스) 관리자 > [해당 웹 사이트] > [IIS] > [디렉터리 검색] 선택 우측의 [사용 안 함] 버튼을 눌러 비활성화
- WebtoB 설정
1) ${WEBTOBDIR}/config/http.m 파일 Options 항목에서 index 옵션 삭제 또는, –index 옵션으로 설정
2) 확인 후 설정파일 컴파일 및 재구동
+ iplanet 웹 서버 설정도 있지만 지금은 거의 소멸 상태. 다루지 않겠음. webtob는 우리나라에서 쓰는 곳이 있는 것 같긴 함.
- %3f.jsp 취약점 제거
요거는 뭔지 궁금해서 찾아봄.
우선 갑자기 뜬금없이 DI 취약점을 다루는데 %3f.jsp 취약점을 제거하라는 설정 방법이 나온다. %3f -> ? 이니까 ?.jsp 취약점이라고? 이게 뭐지.
난 뭐 약간 업로드할 때 저런 형식으로 우회를 하는 그런 느낌으로 봤는데 생각해보면 디렉터리 리스팅 취약점인데 갑자기 업로드 우회는 또 이상하고 아무리 찾아도 정보가 많이 수집되지 않아서 그나마 알아본 것은
~URL/%3f.jsp 이런 형태일 때 디렉터리 리스트가 출력되는 버그가 있던 것 같다. 그래서 주통기반이 제시한 방법도 보면
웹 서버를 Apache로 사용한다면 아래와 같이 설정하여 %3f.jsp 문자를 필터링해야 하며, Resin이나 Tomcat을 사용한다면 최신 버전으로 업그레이드함
<LocationMatch "/(%3f|\?)\.jsp">
AllowOverride None
Deny from all
</LocationMatch>
설정 파일에 지시자를 이용하여 필터링 해주고 있다. 그리고 Resin이나 Tomcat이 저 버그가 있었던 웹 서버였음. 그래서 최신 버전으로 업그레이드하여 구 버전에 있던 취약점을 없애라고 하는 듯
끝!
'주요정보통신기반 웹 취약점 분석·평가 항목' 카테고리의 다른 글
악성 컨텐츠(CS) (0) | 2025.05.19 |
---|---|
정보 누출(IL) (0) | 2025.05.19 |
Xpath 인젝션(XI) (0) | 2025.05.13 |
SSI 인젝션(SS) (1) | 2025.05.12 |
SQL 인젝션(SI) (0) | 2025.05.08 |