Skip to main content
Todos os Termos Glossary

Clickjacking

Definition

O clickjacking é um ataque em que atores maliciosos enganam os usuários para que cliquem em algo diferente do que percebem, muitas vezes sobrepondo elementos transparentes a botões ou links legítimos. Isso pode levar a ações indesejadas, roubo de dados ou instalação de malware. Para prevenir o clickjacking, os desenvolvedores implementam código de frame-busting e usam cabeçalhos de segurança como o X-Frame-Options ou a diretiva frame-ancestors da CSP para controlar como suas páginas podem ser incorporadas em iframes.

Como o clickjacking funciona

O clickjacking, uma forma de UI redressing, engana o usuário para que ele interaja com uma página que não consegue ver. O atacante carrega um site-alvo legítimo dentro de um iframe invisível ou quase transparente e o posiciona sobre um conteúdo de isca, de modo que um botão que o usuário acredita estar clicando na verdade aciona um controle na página em frame, confirmando um pagamento, alterando uma configuração, concedendo uma permissão. As variantes incluem arrastar conteúdo para campos ocultos, sequestrar a posição do cursor ou sobrepor prompts falsos. A vítima está genuinamente autenticada no site-alvo, então cada clique carrega sua sessão e seus privilégios reais. Nada é tecnicamente injetado no alvo; o engano é puramente uma sobreposição visual.

Por que isso importa

Como a aplicação em frame recebe cliques autênticos e autenticados, o clickjacking pode disparar ações que alteram estado e que o usuário nunca pretendeu: transferir fundos, apagar dados, aprovar um escopo OAuth, seguir uma conta ou alternar uma configuração de segurança. Ele contorna a validação de entrada e até a autenticação multifator, já que o usuário já está logado e clica voluntariamente. Também se combina com outros truques, o likejacking em plataformas sociais e o cursorjacking que rouba teclas digitadas para campos ocultos. Qualquer página que execute uma ação sensível de um clique e possa ser incorporada em um frame é candidata, o que faz disso um risco amplo para bancos, painéis administrativos e páginas de configurações de conta.

Como se defender disso

As defesas confiáveis são cabeçalhos de resposta definidos pelo servidor que dizem ao navegador para não renderizar sua página no frame de outra pessoa. Envie Content-Security-Policy frame-ancestors com uma allowlist explícita (ou 'none') e defina X-Frame-Options: DENY ou SAMEORIGIN para clientes mais antigos; o frame-ancestors substitui o X-Frame-Options onde ambos se aplicam. O frame-busting legado em JavaScript é um recurso mais fraco que os atacantes conseguem neutralizar. Para ações sensíveis, adicione etapas de confirmação que resistam a cliques às cegas. Como esses cabeçalhos fazem parte da postura de secure headers de uma página, o monitoramento da cside consegue sinalizar quando um script de terceiros ou uma má configuração remove ou enfraquece esses cabeçalhos, ajudando a garantir que as proteções de framing permaneçam em vigor em produção.

Definição

Como o clickjacking difere do cross-site scripting?

O XSS injeta e executa código do atacante dentro da origem da sua página. O clickjacking não injeta código nenhum; ele sobrepõe visualmente sua página real dentro de um frame oculto, para que os cliques genuínos do usuário atinjam controles que ele não consegue ver. O XSS abusa da execução de código, o clickjacking abusa da interface e da confiança do usuário naquilo em que ele está clicando.

Definição

O HTTPS previne o clickjacking?

Não. O HTTPS criptografa o tráfego e autentica o servidor, mas não faz nada para impedir que sua página seja incorporada em um frame malicioso. O clickjacking é derrotado por controles de framing, como a diretiva frame-ancestors do CSP e o X-Frame-Options, não pela criptografia de transporte.

Got more questions

Talk to a security expert

We answer client-side security questions every day. Bring yours.

Agende uma demonstração

Quer ver isso em detalhe com um engenheiro?

Trinta minutos, no seu próprio site. Sem slides.

Vamos mostrar:

Quais scripts de terceiros estão rodando no seu site agora
Como você está em relação aos requisitos 6.4.3 e 11.6.1 do PCI DSS
Qual parte do seu tráfego é de bots e agentes de IA

Prefere só mandar uma pergunta?

Procurando horários livres…

Apenas humanos de verdade. A gente saberia.

Problemas para agendar? Abrir o agendador em uma nova aba

O que você está tentando resolver?

Conte em uma linha e voltamos com algo útil, não com um discurso genérico.

Costumamos ajudar com:

Ver quais scripts de terceiros rodam no seu site
Evidências para PCI DSS 6.4.3 e 11.6.1
Bots, agentes de IA e roubo de contas

Prefere agendar um horário? Escolher um horário