Pergunta

neste blog post sobre cookies HttpOnly me fez começar a pensar, é possível para um cookie HttpOnly a ser obtido através de qualquer forma de XSS? Jeff menciona que "eleva a fasquia consideravelmente", mas faz parecer que ela não protege completamente contra XSS.

Além do fato de que nem todo navegador suporte a esse recurso corretamente, como um hacker poderia obter os cookies de um usuário se eles são HttpOnly?

Eu não posso pensar de qualquer maneira de fazer uma HttpOnly cookies enviar para outro site ou ser lido por roteiro, então parece que este é um recurso de segurança segura, mas eu estou sempre espantado com a facilidade com que algumas pessoas podem trabalho em torno de muitas camadas de segurança.

No ambiente de trabalho I, nós usar o IE exclusivamente para que outros navegadores não são uma preocupação. Eu estou olhando especificamente para outras maneiras que isso poderia se tornar uma questão que não dependem de falhas específicas do navegador.

Foi útil?

Solução

Em primeiro lugar, como alguns outros mencionados, XSS pode Permitir que outros payloads, não apenas bolinho roubar.

Mas, é Existe uma maneira de roubar cookies HttpOnly, com XSS? (Ignorando a questão da HTTPOnly apoio?) .... A resposta é: Sim
. Um subconjunto de XSS é conhecido como Cross-Site Tracing (XST) (ou ir para o papel ). Este ataque tem a carga XSS enviar uma solicitação TRACE HTTP para o servidor web (ou procuração , frente ou para trás), que ecoará de volta ao cliente a pedido integral - incluindo os cookies, HTTPOnly ou não. A carga útil XSS pode, então, analisar a informação voltou, e recuperar esses bolinhos deliciosos ...


Aliás, ainda um outro "subconjunto" (meio) de XSS, envolve a injecção de carga útil em cabeçalhos de resposta. Embora semelhantes, este não é exatamente XSS e injeção de cabeçalho pode mesmo conduzir a HTTP Response Splitting (HRS) - que é muito mais poderoso, permite o controle quase completo de outros clientes, envenenamento de cache, e de acesso do curso de cookies, se assim o desejassem

.

Outras dicas

Se o navegador não entende HttpOnly, o ataque for bem sucedido Editar:. Bem, você não está em causa. Isso é bom, mas vou deixar este aviso apenas para referência. É útil indicá-lo explicitamente.

Outra maneira de roubar além cheirando a rede seria o controle direto do computador do usuário. Em seguida, os cookies podem ser lidos de um arquivo. Se é um cookie de sessão, será, naturalmente, removido depois que o navegador é fechado.

A propósito, roubando cookie de sessão não é a única possível "carga" de ataque XSS. Por exemplo, pode fazer a sua proteção CSRF inútil. Pode alterar o conteúdo do seu site para enganar o usuário. E muitas outras coisas maliciosas.

Então é melhor se proteger em um bom caminho (saída de escape), e pensar sobre HttpOnly como camada adicional de proteção.

Usando cookies HttpOnly irá evitar ataques XSS de obter esses cookies.

A menos que:

  • seu navegador não suporta HttpOnly
  • existe uma vulnerabilidade até então desconhecida no navegador que breaks HttpOnly
  • o servidor foi comprometida (mas então provavelmente você está hosed de qualquer maneira).

Como outro autor observou: XSS não é a única ameaça lá fora, e agarrando cookies não é a única ameaça de XSS. Tenho certeza que você sabia isso - eu só estou sendo completa!

Boa sorte!

JavaScript pode modificar o HTML na página, portanto, HTTPOnly não significa que você está seguro contra XSS.

Packet sniffing pode ler os cookies transmitidos através de http. Mas não pode cair sob a XSS.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top