Notice
Recent Posts
Recent Comments
Link
«   2024/06   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
Archives
Today
Total
관리 메뉴

개발자되기 프로젝트

[로그인] 쿠키와 보안 문제 본문

인프런/[인프런] 스프링 MVC 2

[로그인] 쿠키와 보안 문제

Seung__ 2021. 9. 26. 00:54

1. 보안 문제


  • 쿠키 값은 임의로 변경할 수 있다.
    • 클라이언트가 쿠키를 강제로 변경하면 다른 사용자가 된다
    • 실제 웹브라우저 개발자모드 Application Cookie 변경으로 확인
    • Cookie: memberId=1 Cookie: memberId=2 (다른 사용자의 이름이 보임)
      ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
  • 쿠키에 보관된 정보는 훔쳐갈 수 있다.
    • 만약 쿠키에 개인정보나, 신용카드 정보가 있다면?
    • 이 정보가 웹 브라우저에도 보관되고, 네트워크 요청마다 계속 클라이언트에서 서버로 전달된다.
    • 내  PC가 털릴 수도 있고, 네트워크 전송 구간에서 털릴 수도 있다.....
  • 해커가 쿠키를 한번 훔쳐가면 평생 사용할 수 있다.
    • 해커가 쿠키를 훔쳐가서 그 쿠키로 악의적인 요청을 계속 시도할 수 있다.

 

 

 

2. 대안


  • 쿠키에 중요한 값을 노출하지 않아야 함
  • 사용자 별로 예측 불가능한 임의의 토큰(랜덤 값)을 노출하지 말아야 함. 
  • 서버에서는  토큰과 사용자 id를 매핑해서 인식
  • 그리고 서버에서 토큰을 관리한다.
  • 토큰은 해커가 임의의 값을 넣어도 찾을 수 없도록 예상 불가능 해야 한다.
  • 해커가 토큰을 털어가도 시간이 지나면 사용할 수 없도록 
  • 서버에서 해당 토큰의 만료시간을 짧게(예: 30분) 유지
  • 해킹이 의심되는 경우 서버에서 해당 토큰을 강제로 제거
Comments