아임노드

실무 환경에서의 주요 취약점_디렉토리 인덱싱(경로 순회) 본문

[SK shieldus Rookies 23기] 공부 노트/취약점 진단 도구 및 활용법

실무 환경에서의 주요 취약점_디렉토리 인덱싱(경로 순회)

Noody 2024. 12. 7.

 

- 13개 정도의 취약점 존재

 1) 주요통신기반시설 취약점 가이드(KISA) : 28개

 2) 전자금융기반 취약점 가이드(금보원/비공식) : 48개

 

얼마나 빨리 취약점을 찾느냐가 개인 역량


 

디렉토리 인덱싱(경로 순회)

- Path가 노출되어 접속이 가능한 취약점

- ex) http://test.com/backup/

위 주소에 접속해서 backup 디렉토리에 저장된 파일 열람 가능

 

- 사용 도구 : gobuster 또는 dirb

 


gobuster

1. 사용

> gobuster 설치

 

> gobuster는 wordfile 즉, 사전파일이 필요하다.

Desktop 경로에서 실행

1) cp로 .(현재경로)에 파일 복사

cp /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt .

 

2) 실행

gobuster dir -u http://juiceshop -w directory-list-2.3-medium.txt
dir : directory를 보겠다.
-w : word

 

3) * Enter 후 Error가 뜨는데 아래 부분에 대한 옵션을 별도로 진행해주어야 한다.

 

4) 다시 옵션 추가

3748길이에 대해서는 제외하고 나머지에 대해서 점검하겠다는 옵션

gobuster dir -u http://juiceshop -w directory-list-2.3-medium.txt --exclude-length 3748

 

> 경로 확인

300번대 200번대만 확인!

참고로 일반적으로 assets 경로는 노출되어도 크게 문제가 되지 않는다.

 

> 나온 경로 토대로 접속 확인해보기

-> video 링크의 경우엔 디렉토리라고 볼 수 없어서 취약점이라기에 애매함

-> 이럴때는 F12를 눌러 소스코드를 한번더 확인해볼 수 있다. Body 부분에 어떠한 내용이 있는지 확인!

-> 여기서는 별도의 내용은 없는 것으로 확인됨

   ㄴ 만일 해당 영상이 불필요한 영상이라면 취약점으로 '제거를 권고'할 순 있다.

 


 

dirb

1. 사용

dirb 타겟주소

 

> dirb는 워드파일이 자동으로 잡힌다. (4612개)

 

2. 경로 확인

 

각 경로를 확인해서 앞선 것처럼 위 경로로 들어가보기.

(500번대는 서버에러이기 때문에 접근불가_제외)

 


 

그럼 무엇을 써야하나요?

gobuster vs dirb

 

차이점 :

gobuster는 내가 지정한 경로 기준으로 디렉토리만 점검

dirb는 디렉토리 및 파일명까지 점검, 하위 디렉토리까지 연계해서 점검

(위에선 안나왔는데 예를 들어 (juiceshop/robot.txt) 이런 식으로 파일명까지 나옴)

 

>> 원화(방어기법) : 폴더별 권한으로 접근제어 설정, 서버 설정을 통해 가능

(apache.conf를 통해 디렉토리 인덱싱이 가능한 폴더 지정 가능)


 

dvwa

bwapp 사이트도 동일하게 실습해보자.

참고