Logo da CarameloSec - Plataforma de análise de segurança automatizada

Cookies Security

Checker ID: #28

v1.0.0-alpha

Cookies Security

Descrição

Verifica se os cookies que o seu site coloca no navegador do visitante estão devidamente protegidos. Pense nos cookies como crachás de identificação — quando alguém visita seu site, o servidor entrega um crachá que identifica aquela pessoa nas próximas visitas. Se esse crachá não tiver as proteções corretas, qualquer pessoa mal-intencionada pode copiá-lo, roubá-lo ou usá-lo indevidamente.

Importância

Cookies mal configurados são uma das portas de entrada mais comuns para ataques. Sem a flag HttpOnly, um script malicioso injetado no site (XSS) consegue ler todos os cookies do usuário — incluindo o de sessão — e enviá-los para o atacante, que assume a conta da vítima instantaneamente. Sem a flag Secure, o cookie viaja em texto puro em conexões HTTP, podendo ser interceptado em qualquer rede Wi-Fi pública. Sem SameSite, o cookie pode ser enviado automaticamente quando o usuário clica num link malicioso em outro site, permitindo ataques CSRF. Cada uma dessas proteções é uma linha de defesa independente — a ausência de qualquer uma delas já representa risco real.

Requisitos de Sucesso
  • • Todos os cookies devem possuir a flag HttpOnly — impede que JavaScript acesse o cookie.

  • • Todos os cookies devem possuir a flag Secure — garante que o cookie só viaja em conexões HTTPS.

  • • Todos os cookies devem possuir o atributo SameSite (Strict ou Lax) — controla quando o cookie é enviado em requisições de outros sites.

  • • Cookies com SameSite=None devem obrigatoriamente ter a flag Secure — sem ela, navegadores modernos rejeitam o cookie silenciosamente.

  • • Se o site não setar nenhum cookie, o checker passa automaticamente (sites estáticos sem cookies são seguros por definição).

Cenários de Teste
Cenário Aprovado: Cookie de sessão com todas as proteções ativadas:
Set-Cookie: session_id=abc123; HttpOnly; Secure; SameSite=Lax; Path=/
Cenário Aprovado: Cookie com SameSite=Strict — proteção máxima contra CSRF:
Set-Cookie: csrf_token=xyz789; HttpOnly; Secure; SameSite=Strict; Path=/
Cenário Reprovado: Cookie sem HttpOnly — JavaScript malicioso pode roubar a sessão do usuário (HIGH):
Set-Cookie: session_id=abc123; Secure; SameSite=Lax; Path=/
Cenário Reprovado: Cookie sem Secure — pode ser interceptado em redes Wi-Fi públicas (HIGH):
Set-Cookie: session_id=abc123; HttpOnly; SameSite=Lax; Path=/
Cenário Reprovado: Cookie sem SameSite — vulnerável a ataques CSRF de outros sites (MEDIUM):
Set-Cookie: session_id=abc123; HttpOnly; Secure; Path=/
Cenário Reprovado: Cookie com SameSite=None mas sem Secure — navegadores modernos ignoram o cookie completamente (HIGH):
Set-Cookie: tracker=xyz; SameSite=None; Path=/