작성
·
172
0
답변 2
0
로그인 하지 않소 접속만 해도 세션이 생성되는 건가요?
세션 아이기 변경하는 옵션이 기존 세션을 유지하고 아이디만 바꾸는 거면 사용자가 로그인해도 공격자의 정보가 보이는 거 아닌가요?
0
안녕하세요, 인프런 AI 인턴입니다.
정민교님의 질문에 대해 세션 고정 공격 및 세션 쿠키와 피해자의 로그인 과정에 대한 혼란이 있으신 것 같습니다. 제공된 정보에서 비슷한 주제를 다루는 질문에 대한 답변이 있으며, 해당 내용을 바탕으로 상세히 설명드리겠습니다.
세션 고정 공격(session fixation attack)은 공격자가 미리 자신의 세션ID를 피해자에게 강제로 사용하도록 만든 후, 피해자가 그 세션ID로 로그인을 하게 해 서버가 피해자를 공격자로 인식하게 만드는 공격 방법입니다. 이 경우 공격자는 피해자가 로그인한 이후 그 세션ID를 사용하여 피해자의 권한으로 서비스에 접근할 수 있게 됩니다.
피해자가 공격자의 세션ID를 사용하여 로그인한다는 것은, 서버입장에서 볼 때 이미 인증된 세션ID로 새로운 인증 시도가 이루어진다는 의미이며, 이 경우 일반적인 웹 어플리케이션은 새로운 세션ID를 발급해줄 수 있습니다. 그러나 이 과정에서 웹 어플리케이션의 구현 방식에 따라, 새로운 세션ID를 발급하지 않고 기존 세션ID을 계속 사용하게 하면 공격자가 계속해서 피해자의 세션을 사용할 수 있는 위험이 발생합니다.
실제 강의 내용과 관련 있는 세션 고정 공격 상황에 대해서 질문있습니다.에서 다루고 있습니다. 이 답변에서는 공격자가 사용자의 쿠키로 로그인을 하게 만들고, 그 이후 사용자가 사이트에 접속하였을 때, 마치 사용자처럼 활동할 수 있게 된다는 과정을 설명하고 있으며, 사용자가 공격자의 쿠키로 로그인할 때 서버에서는 사용자의 쿠키를 새로운 값으로 변경하여 공격자가 사용자와 같은 세션ID를 사용하지 못하도록 하는 세션 고정 보호 기능에 대해서 언급하고 있습니다.
따라서 피해자가 로그인을 수행함으로써 서버에서 새롭게 세션ID를 발급받는 과정이 중요하며, 이 과정을 통해 공격자와 피해자의 세션ID를 분리하여 공격자의 접근을 막을 수 있습니다. 보안 정책에 따라서는 로그인 시 새로운 세션ID를 발급하여 공격자의 세션 고정 시도를 무력화시키는 방안이 일반적으로 권장됩니다.
설명이 이해가 되셨길 바라며, 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
네 그렇습니다.
세션쿠키는 서버에 접속하게 되면 발급되는 쿠키이기 때문에 로그인하고는 무관합니다.
사용자가 공격자의 세션쿠키를 가지고 있더라도 로그인 하지 않으면 큰 문제가 되지는 않습니다.
서버입장에서는 모두다 익명 사용이기 때문이죠
하지만 공격자의 세션쿠키를 가지고 있는 상태에서 인증을 하게 되면 서버 입장에서는 모두 다 동일 계정의 인증 사용자가 됩니다.
그걸 막는 것이 세션고정보호입니다. 즉 사용자의 세션 쿠키를 변경함으로 서버에서는 공격자의 세션쿠키는 다시 익명사용자와 같이 취급하게 됩니다.