관리 메뉴

드럼치는 프로그래머

[Security] 세션 ID가 업데이트되지 않음 본문

★─Programing/☆─WebProgram

[Security] 세션 ID가 업데이트되지 않음

드럼치는한동이 2016. 11. 9. 13:57

1) 취약점 개요

 

AppScan이 로그인 프로세스 전과 후의 세션 ID가 업데이트되지 않았음을 발견했습니다. 즉, 사용자 위장이 가능합니다. 세션ID 값에 대한 사전 지식을 통해 원격 공격자는 정상적으로 로그인한 사용자처럼 행동할 수 있습니다.

 

2) 기술적 설명

 

공격이 진행되는 과정:
a) 공격자가 공격 대상자의 브라우저를 사용하여 취약한 사이트의 로그인 양식을 엽니다.
b) 양식이 열리면 공격자가 세션 ID 값을 입력한 후 대기합니다.
c) 공격 대상자가 취약한 사이트에 로그인할 때 공격 대상자의 세션 ID가 업데이트되지 않습니다.
d) 그런 다음 공격자가 세션 ID 값을 사용하여 공격 대상이 되는 사용자를 가장하고 이 사용자 대신 작동할 수 있습니다.

XSS(Cross-site scripting) 취약성을 이용하거나, 공격 대상자의 브라우저에서 취약한 사이트에 연결할 때 사전 정의된 세션 ID를 사용하도록 하거나, 사이트에 공격 대상 브라우저에 대해 사전 정의된 세션 ID가 표시되도록 하는 세션 고정(session fixation) 공격을 실행하여 세션 ID 값을 획득할 수 있습니다.

 

3) 분류 및 참고

 

XSS(Cross-site scripting).

 

4) 수정 방안

 

아래와 같이, 사용자 로그인 시 기존세션에 대한 Invalidate 를 수행 후 새로 세션을 발급하도록 합니다.

 

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

 

[출처] http://www.beomps.com/archives/13730

Comments