Parâmetros de segurança do cookie: diferenças entre revisões

Origem: Wikipédia, a enciclopédia livre.
Conteúdo apagado Conteúdo adicionado
→‎Secure: A palavra Exemplo estava escrito errada Examplo -- foi corrigida -- Exemplo
Linha 10: Linha 10:
{| class="wikitable"
{| class="wikitable"
|-
|-
! Examplo do HTTP Response:
! Exemplo do HTTP Response:
|-
|-
| Set-Cookie: sessiondID=xpto123; secure;
| Set-Cookie: sessiondID=xpto123; secure;
Linha 22: Linha 22:
{| class="wikitable"
{| class="wikitable"
|-
|-
! Examplo do HTTP Response:
! Exemplo do HTTP Response:
|-
|-
| Set-Cookie: sessiondID=xpto123; HttpOnly;
| Set-Cookie: sessiondID=xpto123; HttpOnly;
Linha 35: Linha 35:
{| class="wikitable"
{| class="wikitable"
|-
|-
! Examplo do HTTP Response:
! Exemplo do HTTP Response:
|-
|-
| Set-Cookie: sessiondID=xpto123; Domain=.site.com; Path=/site1;
| Set-Cookie: sessiondID=xpto123; Domain=.site.com; Path=/site1;

Revisão das 19h51min de 28 de abril de 2014

Introdução

O cookie também conhecido como cookie HTTP, é um pequeno pedaço de dados enviados de um site e armazenados no navegador de um usuário enquanto o usuário está navegando o site. Toda vez que o usuário carregar a página, o navegador envia o cookie de volta ao servidor para notificar o site da atividade anterior do usuário. Os cookies foram projetados para ser um mecanismo confiável para os sites lembrar de informações ou para gravar a atividade do usuário durante a navegação, fazer login, ou gravação que páginas foram visitadas pelo usuário.

Parâmetros de segurança do cookie

Secure

Instrui o navegador para nunca enviar o cookie sob uma requisição HTTP sem que esta esteja em um canal de comunicação cifrado. O cookie só pode ser enviado através de HTTPS. Isso funciona mesmo se o usuário digitar manualmente um pedido de HTTP. A solicitação HTTP será enviada, mas o navegador não enviará quaisquer cookies marcados como "seguro". Esta medida visa minimizar o cenário no qual um usuário malicioso induz a vítima a realizar uma requisição HTTP, o que poderá permitir a captura do cookie de sessão da vítima. Tal captura pode ser feita através de ferramentas que analisam o tráfego de rede, como sniffers ou através do log de acesso da aplicação.

Exemplo do HTTP Response:
Set-Cookie: sessiondID=xpto123; secure;

HttpOnly

Dentre os atributos presentes nos cookies, o HttpOnly lida com a permissividade, desta forma, caso esteja habilitado em determinado cookie, este não poderá ser manipulado por códigos client-side como JavaScript, VBscript, etc. Atribuir o parâmetro HttpOnly a um determinado cookie visa dificultar ataques de Cross-Site Scripting, cujo o objetivo é realizar sequestro de sessão ou aqueles que visam alterar valores de cookies preestabelecidos.

O atributo HttpOnly é suportado pela maioria dos navegadores modernos. Se o navegador não suportar a flag, ela será ignorada e com isso a mesma fica vulnerável e pode ser alterado por código malicioso.

Exemplo do HTTP Response:
Set-Cookie: sessiondID=xpto123; HttpOnly;

Path

O atributo path instrui o browser a enviar o cookie apenas para o domínio especificado e a todos subdomínios. Se o atributo for definido por padrão como a raiz ("/") do website — pode provocar alguns riscos adicionais à segurança desta aplicação, pois não haverá restrições de envio de cookies para outras aplicações que eventualmente estejam hospedadas em outros diretórios do mesmo servidor web.

Por exemplo, suponha-se que existem duas aplicações no mesmo servidor em pastas distintas, uma em /site1/ e outra em /site2/. O fato de não restringir o escopo do cookie a uma aplicação, fará com que o cookie desta seja acessível para ambas as aplicações

Exemplo do HTTP Response:
Set-Cookie: sessiondID=xpto123; Domain=.site.com; Path=/site1;

Referências