IT/영어 공부노트

[Web 보안] 경로 추적 본문

🛡️ security/주통기

[Web 보안] 경로 추적

소저어엉 2023. 8. 1. 13:43
반응형

주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세가이드 - 웹보안

25. 경로 추적

 

경로 추적 취약점이란?

PT(Path Traversal) 

사용자의 입력 데이터가 적절한 검증 없이 URL/File Path에 직접적으로 사용될 경우 의도하지 않은 임의의 경로에 접근할 수 있는 취약점이다. 

자세한 설명 -> https://hi-sojeong.tistory.com/28

 

Path Traversal 정리

Path Traversal 디렉토리 순회 사용자의 입력 데이터가 적절한 검증 없이 URL/File Path에 직접적으로 사용될 경우 의도하지 않은 임의의 경로에 접근할 수 있는 취약점이다. 사용자의 입력 데이터가 URL

hi-sojeong.tistory.com


취약점 분석

취약점 개요
점검내용 - 웹 서버와 웹 애플리케이션의 파일 또는 디렉터리의 접근 통제 여부 점검
점검목적 - 웹 서버 또는 웹 애플리케이션의 중요한 파일과 데이터의 접근 및 실행을 방지하고자 함
보안위협 - 웹 서버와 웹 애플리케이션의 파일 또는 디렉터리 접근이 통제되지 않아 웹 서버 또는 웹 애플리케이션의 중요한 파일과 데이터에 접근을 허용하는 취약점으로 웹 루트 디렉터리에서 외부의 파일까지 접근하여 이를 실행할 수 있음

 

점검대상 및 판단기준
대상 - 웹 애플리케이션 소스코드, 웹 서버, 웹 방화벽
판단기준 - 양호: 웹 루트 디렉터리보다 상위 디렉터리에 접근이 불가한 경우
- 취약: 웹 루트 디렉터리보다 상위 디렉터리에 접근이 가능한 경우
조치방법 - 사용자가 임의로 접근할 수 있는 최상위 디렉터리를 웹 루트 디렉터리로 설정하여 웹 서버의 시스템 루트 디렉터리로 접근하지 못하게 제한 

 

점검방법

1. 웹 브라우저에 표시할 페이지를 지정하는 파라미터 값을 임의의 경로가 포함된 값으로 변조 후 전송해 해당 파일 내용이 웹 브라우저에 표시되는지 확인

../../../../../../../../../../../../etc/passwd
../../../../../../../../../../../../winnt/win.ini
../../../../../../../../../../../../boot.ini

 

2. 위에서 변조하여 전송한 파라미터 값을 아래의 인코딩을 적용하여 재전송 후 다시 표시되는지 확인 

 

※ URL 인코딩: .(%2e), /(%2f), \(%5c)
※ 16bit 유니코드 인코딩: .(%u002e), /(%u2215), \(%u2216)
※ 더블URL 인코딩: .(%252e), /(%252f), \(%255c)

※ 경로 치환: …//, ….\\, ….\/, …./\
※ 종단 문자 추가: [파일명]%00.jpg, [파일명]%0a.jpg

 

보안설정방법

  • 웹 사이트에서 접근하려는 파일이 있는 디렉터리에 chroot 환경 적용 시 공격 최소화 가능 
    •  chroot 디렉터리는 해당 디렉터리가 루트처럼 다뤄짐 
  • 애플리케이션 소스 파일을 수정하여 파일 내용을 웹 브라우저에 표시할 수 있는 디렉터리를 특정 디렉터리로 한정하고 이 외 다른 디렉터리는 파일 내용을 표시할 수 없도록 설정
  • PHP를 사용하는 경우 php.ini 에서 magic_quotes_gpc를 On으로 설정하여 .\./ 와 같은 역슬러시 문자 입력 시 치환되도록 설정
  • 사이트에서 사용되는 파라미터 값 대상으로 특수 문자를 필터링하도록 웹 방화벽 룰셋 적용

참고

주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세가이드 p.714-p.715

반응형