Redirecionamentos abertos: quando um link de confiança real leva ao atacante

Atualizado em 27 de setembro de 2026

Passamos o cursor sobre um link, vemos aparecer google.com ou o nome de um site que conhecemos bem, e clicamos sem desconfiar. No entanto, acabamos numa página de phishing. Não é um erro de exibição nem uma usurpação de endereço: o link realmente levava, no início, ao site verdadeiro. Esta é a mecânica de um redirecionamento aberto (open redirect).

O que é um redirecionamento aberto?

Muitos sites oferecem uma funcionalidade totalmente legítima: redirecionar um visitante para outro endereço após uma ação, por exemplo após um início de sessão, um clique num link patrocinado, ou um encurtador de links. O site recebe no seu URL o endereço de destino, e depois envia o navegador para esse endereço.

A falha surge quando o site aceita qualquer endereço de destino, sem verificar se faz parte de uma lista autorizada. Os programadores construíram um serviço de redirecionamento útil; simplesmente esqueceram-se de fechar a porta das traseiras. Qualquer pessoa pode então fabricar um link que começa pelo nome do site de confiança, mas que termina o seu percurso noutro lugar, junto do atacante.

Anatomia de um link armadilhado

Consideremos um exemplo de estrutura deliberadamente simplificado:

https://www.google.com/url?q=https://site-pirate.example

Este link abre-se de facto nos servidores da Google: o nome de domínio google.com é autêntico, e nada na barra de endereços mente a esse respeito. Mas o parâmetro ?q= transporta um segundo endereço, que se torna o destino real assim que o redirecionamento é ativado. Os mesmos mecanismos encontram-se com outros nomes de parâmetros igualmente comuns: ?dest=, ?redirect=, ?target=, ?next=, ou ainda ?url=. Detetar uma destas palavras-chave logo a seguir a um ponto de interrogação, seguida de um segundo endereço web, é o sinal mais simples a vigiar.

Decomposição do link https://www.google.com/url?q=https://site-pirate.example em duas zonas: à esquerda, a verde, o domínio real google.com/url, autêntico e verificado pelo navegador; à direita, a vermelho, o parâmetro ?q= seguido do verdadeiro destino, site-pirate.example, que o navegador irá carregar após o redirecionamento.
Figura 1: o domínio apresentado primeiro é real; o destino real esconde-se depois do parâmetro.

Porque é que os atacantes adoram esta técnica

Este método resolve dois problemas de uma vez para um atacante.

  • Contornar os filtros antispam. As passarelas de segurança de mensagens (Secure Email Gateways) atribuem uma pontuação de confiança aos domínios presentes num e-mail. Um link que começa por um domínio extremamente reputado, como o de um motor de busca ou de uma grande rede social, obtém muitas vezes uma pontuação excelente, mesmo que o filtro nunca observe a parte oculta do link.
  • Manipular a leitura humana. Uma pessoa precavida aprendeu a verificar o nome de domínio antes de clicar. Perante este tipo de link, essa verificação vira-se contra ela: vê claramente o nome da marca oficial logo no início do endereço, e para por aí, sem ler o resto.

O processo beneficia assim de uma confiança ao mesmo tempo técnica (a pontuação do filtro antispam) e humana (o reflexo de leitura), sem ter de imitar nem o domínio nem os servidores do site de confiança.

Por baixo do capô: códigos 301, 302, e redirecionamentos em cadeia

Tecnicamente, um redirecionamento resolve-se numa resposta muito curta do servidor ao navegador. O servidor responde com um código de estado HTTP, sem exibir qualquer página visível: 302 para um redirecionamento temporário, 301 para um permanente. O navegador obedece de imediato e carrega o endereço seguinte, sem que o utilizador veja o que quer que seja a passar-se.

Nada impede encadear vários redirecionamentos seguidos: um domínio A, muito reputado, para um domínio B, mais modesto e por sua vez vulnerável, para a página de phishing final. Cada elo adicional baralha um pouco mais a pista e complica o trabalho de quem quisesse remontar até à origem do link apenas ao olhar para ele.

Cadeia de três elos ligados por setas: o domínio A, muito reputado, com um código de resposta 302, leva ao domínio B, vulnerável, com um código 301, que por sua vez leva à página de phishing final; cada elo indica que o navegador obedece sem exibir nada no ecrã.
Figura 2: vários redirecionamentos sucessivos podem encadear-se antes de se chegar à página armadilhada.

Como detetar a armadilha e reagir

O método correto consiste em ler o endereço completo, da esquerda para a direita, sem parar no primeiro nome reconhecido. O sinal a procurar é simples: um segundo http:// ou https:// escondido mais à frente na mesma linha anuncia quase sempre um redirecionamento aberto, tal como a presença de um parâmetro do tipo ?q= ou ?url= mesmo antes. Esta vigilância junta-se à que é exigida para ler um nome de domínio enganador por outros meios, como letras parecidas: ver o guia Punycode e homógrafos.

Para verificar um destino sem correr qualquer risco, pode colar-se o endereço num resolvedor de links online, ou executar um comando curl -I a partir de um terminal: o servidor responde com o código de redirecionamento e o destino final, sem nunca carregar a página num navegador.

Duas notificações são úteis, e dizem respeito a dois intervenientes diferentes. Avisa-se primeiro a empresa cujo domínio serve de ponto de partida (por exemplo através do seu formulário de segurança ou do seu endereço dedicado a vulnerabilidades), para que corrija o parâmetro não verificado no seu código. Avisa-se depois o alojador da página de chegada, exatamente como para qualquer página de phishing (ver encontrar o endereço abuse@ certo junto de um alojador), uma vez que é ele quem pode fazê-la desaparecer.

Um e-mail que contenha este tipo de link continua a ser, por outro lado, um e-mail enviado por um servidor real, com o seu próprio rasto: ver o guia Analisar um phishing: da mensagem à infraestrutura. Ao colar o e-mail completo em Baitback, a ferramenta segue por si mesma toda a cadeia de redirecionamentos até à página final, sem ser necessário clicar ou abrir um terminal.

O que reter
  • Um redirecionamento aberto é uma funcionalidade legítima desviada: o site de partida é real, o destino não necessariamente.
  • Os parâmetros a vigiar parecem-se com ?q=, ?url=, ?redirect=, ?dest=, ?target= ou ?next=.
  • Esta técnica engana tanto os filtros antispam, graças à reputação do primeiro domínio, como a leitura humana, que muitas vezes para cedo demais.
  • Os códigos 301 e 302 permitem encadear vários redirecionamentos invisíveis antes de se chegar à página armadilhada.
  • É preciso ler o link na íntegra e notificar tanto o site de partida (para que corrija a falha) como o alojador da página final.

Recebeu um e-mail suspeito?

Cole-o no Baitback: a ferramenta encontra o servidor que o enviou e o provedor de hospedagem, e prepara suas denúncias em uma única etapa.

Analisar um e-mail

Todos os guias