Portuguese English German

Cross-Site Tracing quase 10 anos depois

XST

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 esse 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: entender o conceito de Cookie.

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:

Share on Twitter Share on Facebook Share on LinkedIn Share on Hacker News

Postagens Populares

Newsletter