Segurança da Informação

Ξ Deixe um comentário

Cross-Site Tracing quase 10 anos depois

publicado por Anderson Dadario

Em muitos relatórios de análise de vulnerabilidades é comum encontrar instruções para desabilitar o método “TRACE” dos servidores web para não acarretar na vulnerabilidade Cross-Site Tracing (XST), mas poucas pessoas sabem explicar o funcionamento deste ataque e as implicações caso este ataque seja bem sucedido. Pensando nisso, tentei fazer um screencast, mas a gravação falhou miseravelmente. Ainda assim, vocês podem conferir ele logo abaixo, mas antes de fazê-lo, é necessário que alguns itens sejam esclarecidos:

Pré-requisito:

Resumo:

Quando falamos de Cross-Site Scripting (XSS), um dos possíveis cenários é aquele em que o atacante consegue ler o cookie da vítima pela linguagem Javascript (ex: alert(document.cookie)) e enviar o seu conteúdo para o site do atacante visando um posterior sequestro de sessão. Em busca de soluções para problemas como este, foi criada a flag HttpOnly, que não permite a manipulação do cookie pela linguagem Javascript, permitindo que o cookie apenas trafegue nas requisições HTTP.

Surge então o Cross-Site Tracing que consegue, entre outras explorações, obter o conteúdo de um cookie com a flag HttpOnly graças ao método TRACE habilitado nos servidores web (Veja aqui a RFC com todos os métodos se tiver curiosidade). Visto que o método TRACE repete a requisição HTTP na resposta HTTP, é possível descobrir o que foi enviado na requisição, inclusive os cookies que foram enviados.

Acontece que a descoberta dessa vulnerabilidade vai fazer 10 anos em seu próximo aniversário, e os navegadores estão bastante precavidos com esse tipo de ataque, bloqueando as requisições TRACE feitas por Javascript. O único jeito, caso nenhum navegador permita enviar as requisições TRACE, é verificar se outros elementos da página web gerenciados por outros softwares (Java applet, adobe flash, etc) conseguem realizar tal tarefa.

Os objetivos deste vídeo são:

  • Apresentar como identificar se o método TRACE está habilitado no servidor utilizando telnet
  • Apresentar o funcionamento da flag HttpOnly
  • Apresentar as proteções de Cross-Site Tracing presentes nos navegadores Internet Explorer(10.0.9200.16466), Firefox(14.0.1) e Google Chrome(23.0.1271.97 m)
Obs: Selecione a qualidade 720p (HD) para não enxergar embaçado:

Links úteis e referências:

Autor

Anderson Dadario é fundador do Gauntlet.io, serviço gratuito para execução de diversos scanners de segurança em aplicações web; Dadario possui larga experiência com testes de intrusão, análise de vulnerabilidades e integração de segurança no ciclo de desenvolvimento de software. Site: https://dadario.com.br

Anderson Dadario

Comentários

You must be logged in to post a comment.

Busca

Patrocínio

Publicidade



Siga-nos!

Newsletter: Inscreva-se

Para se inscrever em nossa newsletter preencha o formulário.

Artigos Recentes