Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- SpringBoot
- 스프링 핵심 기능
- java
- Proxy
- 스프링
- springdatajpa
- Thymeleaf
- http
- 스프링 핵심 원리
- Exception
- JPQL
- Greedy
- 알고리즘
- spring
- jpa
- JDBC
- 백준
- kotlin
- AOP
- Servlet
- QueryDSL
- Spring Boot
- 자바
- Android
- pointcut
- 김영한
- 인프런
- transaction
- db
- 그리디
Archives
- Today
- Total
개발자되기 프로젝트
[로그인] 쿠키와 보안 문제 본문
1. 보안 문제
- 쿠키 값은 임의로 변경할 수 있다.
- 클라이언트가 쿠키를 강제로 변경하면 다른 사용자가 된다
- 실제 웹브라우저 개발자모드 Application Cookie 변경으로 확인
- Cookie: memberId=1 Cookie: memberId=2 (다른 사용자의 이름이 보임)
- 쿠키에 보관된 정보는 훔쳐갈 수 있다.
- 만약 쿠키에 개인정보나, 신용카드 정보가 있다면?
- 이 정보가 웹 브라우저에도 보관되고, 네트워크 요청마다 계속 클라이언트에서 서버로 전달된다.
- 내 PC가 털릴 수도 있고, 네트워크 전송 구간에서 털릴 수도 있다.....
- 해커가 쿠키를 한번 훔쳐가면 평생 사용할 수 있다.
- 해커가 쿠키를 훔쳐가서 그 쿠키로 악의적인 요청을 계속 시도할 수 있다.
2. 대안
- 쿠키에 중요한 값을 노출하지 않아야 함
- 사용자 별로 예측 불가능한 임의의 토큰(랜덤 값)을 노출하지 말아야 함.
- 서버에서는 토큰과 사용자 id를 매핑해서 인식
- 그리고 서버에서 토큰을 관리한다.
- 토큰은 해커가 임의의 값을 넣어도 찾을 수 없도록 예상 불가능 해야 한다.
- 해커가 토큰을 털어가도 시간이 지나면 사용할 수 없도록
- 서버에서 해당 토큰의 만료시간을 짧게(예: 30분) 유지
- 해킹이 의심되는 경우 서버에서 해당 토큰을 강제로 제거
'인프런 > [인프런] 스프링 MVC 2' 카테고리의 다른 글
[로그인] 로그인 처리 - 세션 만들기 (0) | 2021.09.26 |
---|---|
[로그인] 로그인 처리 - 세션 동작 방식 (0) | 2021.09.26 |
[로그인] 로그인 처리 - 쿠키 (0) | 2021.09.26 |
[로그인] 로그인 기능. (0) | 2021.09.25 |
[로그인] 회원가입 (0) | 2021.09.25 |
Comments