🚀 A CloudSEK se torna a primeira empresa de segurança cibernética de origem indiana a receber investimentos da
Leia mais
O clickjacking é um ataque web que engana os usuários para que cliquem em algo diferente do que veem, geralmente ocultando um botão real sob um falso. Conhecido formalmente como UI redressing, ele sobrepõe uma cópia invisível de uma página legítima sobre uma isca, de modo que um clique destinado à isca acione o controle oculto. Os pesquisadores Robert Hansen e Jeremiah Grossman cunharam o termo em 2008.
A ameaça não é teórica. Pesquisadores da CloudSEK descobriram uma campanha de phishing ativa que coletou credenciais de 1.262 vítimas ao enquadrar as páginas de login das próprias empresas dentro de iframes invisíveis, um ataque que só funcionou porque esses sites não haviam configurado um cabeçalho anti-framing.
O clickjacking abusa do iframe, um elemento HTML que incorpora uma página da web dentro de outra. O atacante carrega o site alvo, como o login de um banco ou webmail, dentro de um iframe e o sobrepõe a uma página isca que exibe um botão tentador como "Ganhe um prêmio".
O CSS torna a armadilha invisível. O atacante define a opacidade do iframe próxima de zero, tornando a página real transparente. Usando o z-index, que controla o empilhamento de camadas, eles posicionam o botão "Confirmar" oculto exatamente sob a isca, para que o clique da vítima passe pelo controle real.
O ataque depende de a vítima já estar logada. Como a página enquadrada é executada em seu domínio real com a sessão ativa do usuário, o clique oculto carrega autoridade real, transferindo dinheiro, alterando uma configuração ou concedendo uma permissão. É por isso que os cookies SameSite modernos, abordados abaixo, neutralizam muitas tentativas clássicas de clickjacking.
Um único clique sequestrado é frequentemente apenas o movimento inicial. Os atacantes encadeiam o clickjacking em várias etapas, como adicionar itens a um carrinho antes de confirmar um pedido, ou usam-no para entregar outro exploit da web, como o cross-site scripting.
O clickjacking evoluiu para várias variantes, cada uma sequestrando uma ação diferente.

O clickjacking clássico oculta um único botão sensível, como um controle de compra ou exclusão de conta, sob uma isca. Um caso antigo enganou usuários para que alterassem as configurações de webcam e microfone do Adobe Flash, permitindo vigilância silenciosa.
O likejacking tem como alvo ações em redes sociais. Por volta de 2010, worms se espalharam pelo Facebook sobrepondo o botão "Curtir" em conteúdo isca, fazendo com que as vítimas curtissem e compartilhassem involuntariamente as páginas dos atacantes, espalhando o golpe para seus amigos.
O cursorjacking engana o usuário sobre onde o cursor realmente está. Ao substituir o ponteiro visível por um falso deslocado da posição real, o atacante faz com que um clique caia em um local que o usuário nunca pretendeu.
Essas variantes enganam os usuários para que arrastem e soltem conteúdo. Uma interface disfarçada induz a vítima a entregar cookies do navegador ou selecionar arquivos locais, que o atacante então lê.
Divulgado pelo pesquisador Paulos Yibelo em dezembro de 2024, double clickjacking explora o intervalo entre dois cliques. Uma página solicita que o usuário clique duas vezes em um aviso inofensivo e, em seguida, substitui o elemento por um controle sensível entre os cliques, fazendo com que o segundo clique autorize uma ação no site real.
Ele contorna todas as defesas padrão, incluindo X-Frame-Options, frame-ancestors do CSP e cookies SameSite. Como esses cabeçalhos não o impedem, a solução é um script no lado do cliente que mantém os botões sensíveis desativados até que ocorra um gesto real do usuário, uma abordagem já utilizada pelo Dropbox, Stripe e GitHub.
O clickjacking é frequentemente confundido com a falsificação de solicitação entre sites (CSRF), mas os dois diferem de uma maneira crucial.
Essa distinção define a defesa. Um token CSRF não pode impedir o clickjacking, pois a página emoldurada é carregada legitimamente em seu próprio domínio e a solicitação parece completamente normal. Apenas controles que impedem que a página seja emoldurada desde o início oferecem proteção contra isso.
A defesa eficaz contra o clickjacking é feita no lado do servidor: impedir que sites não confiáveis emoldurem a página.

A diretiva frame-ancestors da Content-Security-Policy (CSP) é a defesa moderna recomendada. Ela informa ao navegador quais sites, se houver, têm permissão para incorporar a página em um frame. Defina frame-ancestors 'none' para bloquear todo o emolduramento, ou frame-ancestors 'self' para permitir apenas o próprio domínio do site.
X-Frame-Options é o cabeçalho mais antigo que a diretiva frame-ancestors do CSP tornou obsoleta. Defina-o como DENY ou SAMEORIGIN para proteger navegadores legados anteriores ao CSP. Quando ambos os cabeçalhos estão presentes, os navegadores modernos priorizam o frame-ancestors e ignoram o X-Frame-Options.
O atributo de cookie SameSite controla quando os cookies de sessão são enviados em solicitações entre sites. Defini-lo como Lax ou Strict impede que o cookie de sessão da vítima chegue a uma página emoldurada, fazendo com que um ataque de clickjacking autenticado falhe. Os navegadores aplicam SameSite=Lax por padrão atualmente, razão pela qual o clickjacking clássico tornou-se mais difícil de executar.
Sites mais antigos usavam JavaScript de framebusting para sair de frames, mas isso não é confiável. Os atacantes neutralizam essa técnica com o atributo sandbox do iframe, e ela falha completamente quando o navegador bloqueia scripts. Dois erros comuns ainda anulam as defesas por cabeçalho: colocar esses cabeçalhos em uma meta tag em vez de um cabeçalho de resposta HTTP, o que os navegadores ignoram, e esquecê-los em páginas de erro ou painéis administrativos. Para uma lista de verificação completa de defesa em profundidade, o OWASP Clickjacking Defense Cheat Sheet é a referência definitiva.
A proteção contra clickjacking é tão eficaz quanto a sua cobertura, e grandes organizações frequentemente esquecem o cabeçalho em um subdomínio esquecido, site de testes ou painel administrativo. Essa única falha foi o que a campanha de phishing acima explorou.
CloudSEK BeVigil mapeia os ativos web externos de uma organização e sinaliza aqueles que não possuem cabeçalhos anti-framing, como X-Frame-Options e CSP frame-ancestors, antes que um invasor os utilize em frames. Ele revela a página exposta em vez de esperar por um relatório de violação, fechando a lacuna que auditorias manuais de cabeçalho rotineiramente deixam aberta.
Sim, o clickjacking é ilegal na maioria das jurisdições porque envolve ações não autorizadas e fraude. Usá-lo para roubar credenciais ou dinheiro viola as leis de crimes cibernéticos e fraude.
Não, o software antivírus não pode impedir o clickjacking, porque o ataque explora a falta de controles de framing em um site, e não o dispositivo do usuário. A proteção depende de o site configurar cabeçalhos anti-framing.
Carregue o site dentro de um iframe de teste: se ele for renderizado, a página não possui proteção contra framing. Inspecionar os cabeçalhos de resposta com as Ferramentas do Desenvolvedor do navegador, curl ou securityheaders.com confirma se um controle de framing está presente.
O clickjacking sequestra um clique em um site real exibido em um frame, enquanto o phishing atrai a vítima para um site falso para inserir dados. Os invasores frequentemente combinam os dois, sobrepondo um formulário de phishing em uma página legítima exibida em um frame.
Não, o HTTPS não impede o clickjacking; ele apenas criptografa os dados em trânsito. Impedir o clickjacking requer controles de framing como CSP frame-ancestors ou X-Frame-Options.
Sim, o clickjacking funciona em dispositivos móveis através de uma variante chamada tapjacking, que sobrepõe camadas invisíveis para sequestrar toques. Tanto navegadores móveis quanto aplicativos maliciosos podem realizar o ataque.
