세션 쿠키

설명

세션 쿠키가 올바른 플래그와 만료 기간을 갖고 있는지 확인합니다.

교정

HTTP는 상태를 유지하지 않는 프로토콜이므로, 웹 사이트는 일반적으로 세션 ID를 저장하기 위해 쿠키를 사용합니다. 이를 통해 여러 사용자가 동일한 계정에 액세스하는 것을 방지하기 위해 각 세션 ID의 기밀성을 유지해야 합니다. 도난당한 세션 ID는 다른 사용자의 계정을 보거나 사기 거래를 실행하는 데 사용될 수 있습니다.

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

링크