보안 공부/Web 보안

Spring Framework 취약점 진단

H.J.World 2024. 1. 18. 20:30
728x90
반응형

Spring Framework


Spring Framework는 2002년부터 사용된 Java 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로서 간단히 Spring이라고도 하며, Java 기반 동적인 웹 사이트를 개발하기 위한 여러가지 서비스를 제공 공공기고나의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준프레임워크의 기반 기술로 사용됨


Spring Framework 파일구조


Servlet-context.xml : 서버 요청과 관련된 객체 정의 (URL 관련된 controller나, 어노이테이션 등의 설정)
root-context.xml : 비즈니스 로직을 위한 설정(ex. 회원가입 과정-아이디 중복여부 확인) / DB에 접속하기 위한 정보 기술(id, pw)
views(디렉터리) : Spring 프로젝트 jsp 파일경로
web.xml : 서버 최초 구동 시 확인하는 파일로 서버와 앱 연동 설정 정보, 추가 설정 파일 경로 등의 정보 기술
pom.xml : Spring 프로젝트 내에서 사용되는 라이브러리 설정

Spring Framework 관련 CVE


CVE-2018-1271 (Directory Traversal)
spring-mvc-showcase 모듈을 사용 시 발생하는 취약점
/spring-mvc-showcase/resource 뒤에 파일경로 이동 파라미터를 변조하여 삽입
ex) /spring-mvc-showcase/resource/%5c%5c..%5c/..%5c/..%5c/..%5c/..%5c/..%5c/..%5c/..%5c/windows/win.ini

CVE-2016-5007 (인증우회)
http://localhost/admin/ 
 > 접근 시 Access Denied 발생 하는 경우에
http://localhost/admin%20/ 과 같이 공백 입력 시 admin으로 접근 가능

보안대책

Spring Framework 최신 버전 업을 통한 패치
취약점 포인트 코드 패치
- 업데이트할 경우 서비스에 영향을 미칠수 있다고 판달될때
- 취약 버전과 취약점 패치된 버전의 소스코드를 비교하여 패치된 소스코드를 반영

728x90
반응형