다잘하고싶어

[Spring] 로그인구현3_쿠키 활용 시 발생하는 문제 본문

이론학습/SRPING

[Spring] 로그인구현3_쿠키 활용 시 발생하는 문제

챙영잉 2022. 10. 7. 15:39

쿠키를 사용하면 보안 상 심각한 문제가 발생할 수 있다.

1. 쿠키값은 임의로 변경될 수 있다.

회원1 과 회원2 로 회원가입 한 후,

회원1로 로그인한다.

이때, application 에서 memberId 의 value값을 임의로 5로 변경하면?

변경 후 새로고침하면?

쿠키값은 서버에서 클라이언트에게 보내주는 값이기 때문에

위변조가 가능하다!! 매우 위험함.

 

 

2. 쿠키에 보관된 정보는 훔쳐갈 수 있다.

만약 쿠키에 중요한 개인정보나 신용카드 정보와 같은 것이 들어있다면?

이 정보는 웹브라우저에도 보관되고, 네트워크 요청마다 계속 클라이언트에서 서버로 전달된다.

 

3. 해커가 쿠키를 한번 훔쳐가면 평생 사용할 수 있다.

악의적인 요청을 계속 시도 가능하다.

 

 

대안

  • 쿠키에 중요한 값을 노출하지 않고, 사용자별로 예측 불가능한 임의의 토큰을 노출하고, 서버에서 토큰과 사용자 id를 매핑해서 인식한다. 그리고 서버에서 토큰을 관리한다. (예측 불가능한 임의의 토큰? : 예를 들어 1,2,.. 이렇게 설정하면 그 다음은 3임을 짐작가능)
  • 토큰이 유출되더라도 시간이 지나면 사용할 수 없도록 토큰 만료 시간을 설정해야한다. 또는 해킹이 의심되는 경우 서버에서 해당토큰을 강제로 제거하면 된다.

-> 이 모든 문제를 한번에 해결할 수 있는 것이 서버와 세션

2022.10.07 - [SRPING] - [Spring] 로그인구현4_세션 사용하는 이유

 

 

 

 


Reference : https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-2/dashboard

 

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 인프런 | 강의

웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있

www.inflearn.com

강의 듣고 내용 정리중