본문 바로가기

웹 해킹/기타 웹 취약점

[주통기 웹 취약점] 경로 추적, 위치 공개

 

경로 추적

: 사용자의 입력 데이터가 적절한 검증 없이 URL이나 파일 경로 파라미터에 사용될 경우 중요한 파일 또는 디렉터리에 접근할 수 있는 취약점이다. 

 

 

 

../와 같은 상대경로를 계속해서 입력해 가면서 정보가 탈취할 수 있을 때까지 공격자가 입력이 가능하면 해당 취약점이 존재한다고 볼 수 있다. 특히 웹 루트 디렉터리보다 상위 디렉터리에 접근이 가능한 경우 취약하다고 판단한다.

 

 

[보안 방법]

* 웹 사이트에서 접근하려는 파일이 있는 디렉터리에 chroot 환경 적용 시 경로 추적 공격을 최소화할 수 있음

 

 

+) 공격에 사용할 수 있는 인코딩 및 문자

  URL 인코딩: .(%2e), /(%2f), \(%5c)

※ 16bit 유니코드 인코딩: .(%u002e), /(%u2215), \(%u2216)

※ 더블URL 인코딩: .(%252e), /(%252f), \(%255c)

※ 경로 치환: …//, ….\\, ….\/, …./\

※ 종단 문자 추가: [파일명]%00.jpg, [파일명]%0a.jpg


 

위치 공개

: 폴더나 파일명의 위치가 예측 가능하여 공격자가 이를 악용하여 대상에 대한 정보 획득 후 민감 데이터 접근 가능한 취약점

 

 

 

취약점 판단의 기준이 되는 샘플 페이지

 

 

공격자는 이를 악용하여 민감한 데이터에 접근하거나 시스템에 대한 정보를 획득해서 시스템 침투 및 장악 등 불법적인 행위를 할 수 있다.

 

 

[보안 방법]

* robots.txt 파일 작성을 통해 검색 차단할 디렉터리, 확장자, 페이지 등을 지정할 수 있으며 HTML의 HEAD 태그 내에 META 태그를 추가하여 검색엔진의 인덱싱을 차단

 

* 웹 디렉터리를 조사하여 아래의 삭제해야 할 파일 확장자에 포함된 백업 파일을 모두 삭제하고, *.txt 확장자와 같이 작업 중 생성된 일반 텍스트 파일이나 이미지 파일 등도 제거함

 

* 백업 파일은 백업 계획을 수립하여 안전한 곳에 정기적으로 백업해야 하며 웹 서버에서는 운영에 필요한 최소한의 파일만을 생성하여야 함

 

* 웹 서버 설정 후 디폴트 페이지와 디폴트 디렉터리 및 Banner를 삭제하여 Banner Grab에 의한 시스템 정보 유출을 차단함

 

* Apache, IIS, Tomcat 등 각 웹 서버 설정 시 함께 제공되는 샘플 디렉터리 및 매뉴얼 디렉터리, 샘플 애플리케이션을 삭제하여 보안 위험을 최소화함