본문 바로가기

보안/시큐어코딩

[시큐어코딩실습] 세션관리 취약점 제거

자바에서 세션ID 고정 취약점 제거


세션ID 고정 취약점은 로그인하기전에 할당 받은 세션ID를 로그인후에 그대로 사용하는 경우,

공격자가 먼저 서버에 접속하여 세션ID를 할당받아 그 ID를 희생자가 사용하여 로그인을 하도록 유도한다. 희생자가 로그인을 성공적으로 수행하게 되면,  공격자는 로그인한 세션을 취득하게 된다.


이러한 취약점을 제거하기 위해서는 로그인이 성공적으로 수행되고 나면 세션ID가 다시 할당되도록 설정하여 하며, 자바 프로그램에서는 다음과 같이 세션 ID를 다시 할당 할 수 있다.


session.invalidate();
session=request.getSession(true);