포시코딩

[Login] Cookie를 다루는데 있어서 - 작성중 본문

Node.js

[Login] Cookie를 다루는데 있어서 - 작성중

포시 2023. 1. 15. 22:28
728x90

HttpOnly

쿠키는 '세션 하이재킹', 'XSS 공격' 등으로 탈취될 수 있다.

대응 방법으로는 HttpOnly 설정을 추가해 HTTP Only Cookie를 활성화 시키면

XSS와 같은 공격을 차단할 수 있게 된다.

 

이렇게 되면 브라우저에서 해당 쿠키로 접근할 수 없게 되지만, 

애초에 쿠키에 포함된 정보의 대부분이 브라우저에서 접근할 필요가 없기 때문에

기본적으로 적용하는 것을 권장한다.

 

하지만 HttpOnly 속성은 클라이언트(브라우저 등) 에서 설정할 수 없는 옵션이며 
서버단에서만 설정할 수 있는 옵션이라는데 

만약 프론트엔드 서버와 백엔드 서버가 분리되어 있다면 사용하기 힘든 상황이 발생할텐데 어떻게 해야할까?

 

HTTP Only Cookie를 사용하면 Clinet에서 JS를 통한 쿠키 탈취 문제를 예방할 수 있지만

JavaScript가 아닌 네트워크를 직접 감청하여 쿠키를 가로챌 수도 있다.

 

이 경우 SSL 암호화가 적용된 HTTPS 프로토콜을 통해 데이터를 암호화 하여 서버에 넘겨주면

쿠키를 탈취당하더라도 암호화가 되어 있어 정보를 알아낼 수 없다.

 

HTTPS 프로토콜

HTTPS 통신일 경우 HttpOnly 대신 secure 접미사를 사용해 쿠키를 저장할 수 있는데

서버, 클라이언트 모두에서 옵션을 적용할 수 있다.

 

예시)

document.cookie = "key=value; path:/; secure"

 

 

 

 

참고한 곳

https://theheydaze.tistory.com/550

https://velog.io/@alang/XSS-공격과-쿠키의-HttpOnly

728x90