Security/보안 취약점
경로 조작
0bliviat3
2025. 3. 19. 21:31
검증되지 않은 외부 입력값으로 파일 및 서버 등 시스템 자원에 대한 접근 혹은 식별을 허용할 경우, 입력값 조작으로 시스템이 보호하는 자원에 임의로 접근할수 있는 보안약점이다.
../ 같은 디렉토리 이동명령어를 서버 자원 요청시 집어넣어 OS레벨에서 관리하는 자원에 접근하는 방식으로 대응 방법은 간단하다.
조치
1. baseDir 내부경로인지 검증로직 추가
2. ../ 패턴을 포함하는 입력값에 대해 필터링(URL인코딩을 고려해서 로직 추가)
- 전용적 보안필터 적용으로 처리가 가능하다.
method
- setFilter: 새로 정의한 FileAccessSecurityFilter 설정
- addUrlPatterns(“/*”) : 모든 요청에 대해 필터 적용
- setDispatcherTypes(request, forward, include, error 등) 에 대해 필터 설정
- setOrder(1): 필터가 가장 먼저 실행되도록 우선순위 설정