0bliviat3 2025. 3. 19. 21:31

검증되지 않은 외부 입력값으로 파일 및 서버 등 시스템 자원에 대한 접근 혹은 식별을 허용할 경우, 입력값 조작으로 시스템이 보호하는 자원에 임의로 접근할수 있는 보안약점이다.

 

../ 같은 디렉토리 이동명령어를 서버 자원 요청시 집어넣어 OS레벨에서 관리하는 자원에 접근하는 방식으로 대응 방법은 간단하다.

 

조치

1. baseDir 내부경로인지 검증로직 추가

2. ../ 패턴을 포함하는 입력값에 대해 필터링(URL인코딩을 고려해서 로직 추가)

- 전용적 보안필터 적용으로 처리가 가능하다.

 

 

 

method

- setFilter: 새로 정의한 FileAccessSecurityFilter 설정

- addUrlPatterns(“/*”) : 모든 요청에 대해 필터 적용

- setDispatcherTypes(request, forward, include, error ) 에 대해 필터 설정

- setOrder(1): 필터가 가장 먼저 실행되도록 우선순위 설정