Open Redirect

Definição

  • Ocorre quando uma aplicação web aceita um input controlado pelo usuário que especifica um link para o qual o usuário será redirecionado.
  • A aplicação não valida se o destino é confiável.

Risco Principal: Phishing

  • Atacantes usam domínios legítimos para dar credibilidade ao link malicioso.
  • Exemplo de URL maliciosa: https://google.com/login?redirect=http://site-hacker.com
  • O usuário confia no link pois começa com google.com, mas acaba sendo levado para uma página de captura de credenciais.

Clickjacking (UI Redressing)

O que é?

  • Técnica de enganar um usuário para que ele clique em algo diferente do que ele percebe estar clicando.
  • O atacante sobrepõe uma camada invisível (iframe) sobre uma página legítima.

Como Funciona?

  • O atacante utiliza um <iframe> para carregar o site alvo.
  • Através de CSS, a opacidade do iframe é definida como zero (invisível).
  • O atacante posiciona o iframe exatamente sobre um botão ou link que ele deseja que a vítima clique (ex: “Deletar Conta” ou “Transferir Dinheiro”).

Como Prevenir

1. X-Frame-Options (Header)

Indica ao navegador se a página pode ou não ser renderizada dentro de um <frame> ou <iframe>.

  • DENY: Ninguém pode colocar a página em um iframe.
  • SAMEORIGIN: Apenas o próprio site pode colocar a página em um iframe.

2. Content-Security-Policy (CSP)

  • Utilização da diretiva frame-ancestors.
  • Exemplo: Content-Security-Policy: frame-ancestors 'self'; (similar ao SAMEORIGIN).