세션 쿠키
설명
세션 쿠키가 올바른 플래그와 만료일을 가지고 있는지 확인합니다.
복구
HTTP는 상태를 유지하지 않는 프로토콜이기 때문에, 웹 사이트는 일반적으로 세션 ID를 저장하기 위해 쿠키를 사용합니다. 이를 통해 요청 간에 사용자를 고유하게 식별하는 세션 ID의 기밀성을 유지해야 하며, 그렇지 않을 경우 여러 사용자가 동일한 계정에 액세스할 수 있습니다. 도난당한 세션 ID는 다른 사용자의 계정을 볼 수 있거나 사기 거래를 수행하는 데 사용될 수 있습니다.
- 세션 ID의 한 부분을 보호하는 방법은 해당 ID에 올바른 플래그 세트가 필요하고 만료되도록 표시하는 것입니다. 이를 통해 세션이 평문으로 전송되거나 스크립팅에서 액세스할 수 없도록 보장할 수 있습니다.
- HttpOnly는 Set-Cookie HTTP 응답 헤더에 포함된 추가적인 플래그입니다. 쿠키를 생성할 때 HttpOnly 플래그를 사용하면, 브라우저가 이를 지원하는 경우에 클라이언트 측 스크립트가 보호된 쿠키에 액세스하는 위험을 완화할 수 있습니다. Optional로 포함된 HttpOnly 플래그가 HTTP 응답 헤더에 포함되어 있으면, 브라우저가 이 플래그를 지원하는 경우 쿠키에 클라이언트 측 스크립트를 통해 액세스할 수 없습니다. 결과적으로 크로스사이트 스크립팅(XSS) 결함이 존재하고 사용자가 이 결함을 이용하는 링크에 실수로 액세스해도, 브라우저는 쿠키를 제3자에게 공개하지 않습니다.
- HTTPS 세션의 민감한 쿠키에 대한 Secure 속성이 설정되지 않은 경우, 사용자 에이전트가 해당 쿠키를 HTTP 세션에서 평문으로 전송할 수 있습니다.
- 보안되지 않은 전송 프로토콜에서 사용되는 세션 관련 쿠키가 식별되었습니다. 보안되지 않은 전송 프로토콜은 SSL/TLS를 사용하지 않는 프로토콜로, ‘http’와 같은 것들이 있습니다.
- 충분하지 않은 세션 만료는 웹 응용 프로그램이 공격자가 이전의 세션 자격 증명 또는 세션 ID를 권한 부여에 재사용하도록 허용할 때 발생합니다. 충분하지 않은 세션 만료는 웹 사이트가 사용자의 세션 식별자를 탈취하거나 재사용하는 공격에 노출될 수 있습니다. HTTP는 상태를 유지하지 않는 프로토콜이기 때문에 웹 사이트는 세션 ID를 저장하기 위해 쿠키를 일반적으로 사용합니다. 그 결과 여러 사용자가 동일한 계정에 액세스하는 것을 방지하기 위해 각 세션 ID의 기밀성을 유지해야 합니다. 도난당한 세션 ID는 다른 사용자의 계정을 볼 수 있거나 사기 거래를 수행하는 데 사용될 수 있습니다. 세션 ID를 보호하는 한 가지 방법은 해당 ID에 올바른 플래그 세트가 필요하고 만료되도록 표시하는 것입니다.