Entre as ameaças cibernéticas contemporâneas, o clickjacking se destaca como um ataque discreto, difícil de detectar e com elevado potencial de impacto.
Diferentemente de ataques que dependem de malware explícito ou exploração direta de vulnerabilidades conhecidas, o clickjacking atua na camada de interface, enganando usuários para que realizem ações que não pretendiam executar.
Por essa razão, trata-se de um risco relevante tanto para organizações quanto para usuários finais.
O impacto é ainda maior em ambientes digitais amplamente utilizados, como aplicações web, portais corporativos e plataformas de serviços online.
Neste artigo, exploraremos o conceito de clickjacking, suas principais características e as variantes mais comuns desse ataque.
Além disso, apresentaremos as estratégias de defesa recomendadas, com base nas boas práticas da OWASP.
1. O que é clickjacking?
Clickjacking é um tipo de ataque no qual a vítima acredita estar clicando em um elemento legítimo — como um botão, link ou formulário — de um site confiável, quando na verdade está interagindo com um conteúdo malicioso oculto.
Esse conteúdo normalmente é sobreposto à interface legítima por meio de técnicas de HTML, CSS e uso de iframes invisíveis.
O usuário vê o site verdadeiro, reconhecível e confiável.
No entanto, o atacante adiciona uma camada invisível ou parcialmente transparente que captura os cliques, redireciona ações ou executa comandos sem o conhecimento da vítima.
Essa característica torna o ataque particularmente perigoso, pois ele não depende de páginas falsas ou URLs suspeitas.
O termo clickjacking foi cunhado em 2008 por Grossman e Hansen, também sendo conhecido como UI redressing attack (ataque de correção da interface do usuário).
2. Por que o clickjacking é tão perigoso?
À primeira vista, o clickjacking pode parecer um ataque de baixo impacto.
Em alguns casos, ele é usado apenas para obter curtidas em redes sociais, prática conhecida como likejacking.
Contudo, seu potencial vai muito além disso.
Dependendo do contexto e do nível de sofisticação do atacante, o clickjacking pode ser utilizado para:
- Executar downloads não autorizados de malware;
- Capturar credenciais de acesso;
- Ativar permissões sensíveis, como acesso à webcam ou microfone;
- Alterar configurações de conta;
- Registrar cliques, teclas digitadas e interações do usuário;
- Facilitar movimentação lateral em aplicações corporativas.
Em cenários mais avançados, a vítima pode inserir nomes de usuário, senhas, números de cartão de crédito etc., acreditando estar em um site legítimo.
Contudo, essas informações estão sendo coletadas pelo atacante sem que ela perceba.
3. Clickjacking não é phishing
Embora o clickjacking seja frequentemente confundido com phishing, há uma diferença fundamental entre essas ameaças.
No phishing, o criminoso cria uma página falsa que imita a original.
Já no clickjacking, o site exibido é o site real, legítimo e confiável.
O ataque ocorre por meio da manipulação da interface, geralmente utilizando:
- Iframes invisíveis;
- Folhas de estilo em cascata (CSS) personalizadas;
- Manipulação de eventos de clique;
- Sobreposição de elementos gráficos.
Essa sutileza torna o clickjacking mais difícil de identificar tanto para usuários quanto para mecanismos tradicionais de detecção.
4. Principais tipos de ataques de clickjacking
A natureza aberta da web e a constante evolução de frameworks JavaScript e CSS permitiram o surgimento de diversas variações de clickjacking.
A seguir, destacamos os tipos mais comuns.
4.1. Sobreposição transparente completa
Esse é o método mais conhecido.
Uma página legítima é carregada dentro de um iframe invisível, enquanto uma página maliciosa é exibida por baixo.
O usuário acredita estar interagindo com a página confiável, mas seus cliques são capturados pela camada oculta.
4.2. Corte seletivo de elementos
Nesse tipo de ataque, apenas determinados controles da página maliciosa são sobrepostos aos elementos legítimos.
O atacante pode substituir links, alterar botões ou modificar textos, confundindo a vítima e redirecionando ações específicas.
4.3. Sobreposição oculta (cursorjacking)
No cursorjacking, o invasor cria um iframe extremamente pequeno, às vezes com apenas 1x1 pixel, posicionado estrategicamente sob o cursor do mouse.
Assim, qualquer clique acaba sendo direcionado para o conteúdo malicioso, sem que o usuário perceba.
4.4. Queda de eventos de clique
Aqui, o atacante manipula a propriedade CSS pointer-events, fazendo com que a interface aparente não responder aos cliques.
Na prática, os cliques são capturados pela página maliciosa subjacente.
Esse comportamento pode levantar suspeitas, especialmente quando botões aparentemente não funcionam.
4.5. Substituição rápida de conteúdo
Ataques mais sofisticados utilizam a substituição rápida de elementos da interface.
A sobreposição é removida por uma fração de segundo para registrar o clique e reaplicada imediatamente.
O usuário dificilmente percebe a manipulação.
4.6. Rolagem enganosa
Nesse cenário, caixas de diálogo ou pop-ups legítimos são exibidos parcialmente fora da tela.
O usuário tenta interagir com o conteúdo visível, mas o clique atinge a página maliciosa abaixo.
4.7. Reposicionamento dinâmico
O atacante move rapidamente um elemento confiável enquanto o usuário está focado em outra parte da página.
Isso faz com que o clique atinja um alvo diferente do esperado.
4.8. Arrastar e soltar (drag and drop)
Aqui, o ataque exige mais interação do usuário.
Formulários aparentemente legítimos capturam dados sensíveis, como credenciais ou informações financeiras, que são enviados à página maliciosa subjacente.
5. Como evitar o Clickjacking?
Apesar de sua sofisticação, o clickjacking pode ser mitigado com uma combinação de controles técnicos, boas práticas de desenvolvimento e conscientização dos usuários.
A OWASP reúne essas recomendações em seu Clickjacking Defense Cheat Sheet.
5.1. Impedir o enquadramento (Frame busting)
A primeira linha de defesa é impedir que o conteúdo de um site seja carregado dentro de iframes de terceiros.
Isso pode ser feito por meio de Content Security Policy (CSP).
O CSP permite definir quais origens são autorizadas a carregar recursos como scripts, estilos e frames, reduzindo significativamente a superfície de ataque.
5.2. Uso de X-Frame-Options
O cabeçalho HTTP X-Frame-Options permite controlar se uma página pode ser renderizada dentro de um frame. Os valores mais comuns são:
- DENY: bloqueia completamente o uso de frames;
- SAMEORIGIN: permite frames apenas da mesma origem.
Embora não seja suportado de forma uniforme em todos os navegadores, quando combinado com CSP, oferece uma defesa robusta.
5.3. Framekillers (framebusters)
Framekillers são trechos de código JavaScript que verificam se a página está sendo carregada como a janela principal.
Caso contrário, o conteúdo é bloqueado.
Apesar de úteis, não devem ser a única medida de proteção, pois podem ser burlados em cenários mais avançados.
5.4. Complementos de navegador
Alguns navegadores oferecem extensões que bloqueiam a execução de scripts suspeitos.
Essa é uma proteção do lado do cliente e depende da adesão dos usuários, o que limita sua eficácia em ambientes corporativos amplos.
5.5. Soluções de segurança em camadas
NGFWs, WAFs e plataformas de segurança modernas podem identificar padrões suspeitos e bloquear tentativas de clickjacking em tempo real, complementando as proteções no nível da aplicação.
5.6. Educação e conscientização
Usuários bem treinados são uma linha de defesa essencial.
Comportamentos estranhos, botões que não respondem ou mudanças inesperadas na interface devem ser reportados imediatamente às equipes de TI e segurança.
6. Considerações finais
O clickjacking é um exemplo claro de como ataques modernos exploram a confiança do usuário e a complexidade da interface web.
Embora muitas vezes invisível, seu impacto pode ser significativo, especialmente em ambientes corporativos e aplicações críticas.
A adoção combinada de CSP, X-Frame-Options, controles técnicos, monitoramento e conscientização é fundamental para mitigar esse risco.
Em um cenário de ameaças cada vez mais sofisticadas, proteger a interface do usuário é tão importante quanto proteger servidores, redes e aplicações.
Mais do que uma questão técnica, a defesa contra o clickjacking exige maturidade em segurança, visão estratégica e compromisso contínuo com boas práticas de desenvolvimento seguro.
Segurança