BLOG

SESSION FIXATION ( 세션 고정 ) 본문

SECURITY/Vulnerability

SESSION FIXATION ( 세션 고정 )

Radbit 2021. 7. 17. 16:54

Session Fixation(세션 고정) 이란 로그인 시 발급받은 세션 ID가 로그인 전/후 모두 동일하게 사용되어 악의적인 사용자가 피해자의 세션을 하이재킹 하여 정상적인 사용자로 위장하여 접근하는 행위

 

---

사용자 계정이 있는 웹사이트는 일반적으로 사용자를 식별하는 인증 메커니즘을 사용한다.

( 다른 사이트로 이동했다가 다시 돌아오는 경우 로그인 되어있는 점 )

Post-authentication를 통해 다음과 같이 세션이 확립된다

서버와 브라우저가 세션 ID를 교환 후 브라우저가 HTTP 리퀘스트를 통해 각각의 사용자를 서버가 식별한다.

공격자가 유저 세션 ID에 액세스할 수 있다면, 공격자는 그 유저의 흉내를 낼 수가 있다.

세션 고정은 공격자가 이 공격을 이용하는 방법 중 하나다.

---

 

다음은 이 공격의 예이다.

 

공격자 Alice

피해자 Bob

Alice는 Bob의 이메일을 알고 있으며 Bob이 고양이를 좋아한다는 점도 알고 있음.

 

1. Alice가 세션ID를 특정하는 URL을 만든다.

2. Alice는 귀여운 고양이 사진과 함께 만들어진 링크를 Bob의 이메일에 전송한다.

3. Bob이 링크를 클릭 했을 때, 로그인 되어 있진 않으니 로그인 페이지를 보여준다.

4. Bob이 로그인을 완료 했을 때, Bob은 Alice와 동일한 세션을 사용한다.

5. 이제 Alice는 Bob의 계정으로 로그인한 것과 마찬가지다.