O sequestro de cliques, também conhecido como clickjacking, é um tipo de ataque em que um usuário é induzido a clicar em algo diferente do que ele percebe, potencialmente revelando informações confidenciais ou permitindo ações não intencionais em aplicações web.
Os hackers geralmente seguem estes passos para realizar um ataque de sequestro de cliques:
<!-- Página maliciosa -->
<html>
<body>
<div style="opacity:0.01; position:absolute; top:0; left:0; width:100%; height:100%;">
<iframe src="https://site-alvo.com" style="width:100%; height:100%;"></iframe>
</div>
<button style="position:relative; z-index:2;">Clique aqui para ganhar um prêmio!</button>
</body>
</html>
No exemplo acima, o botão visível leva o usuário a clicar em áreas específicas do iframe invisível, realizando ações no site alvo.
<!-- Cabeçalho HTTP seguro -->
<?php
header('X-Frame-Options: DENY');
?>
<!-- Ou usando Content Security Policy (CSP) -->
<meta http-equiv="Content-Security-Policy" content="frame-ancestors 'self'">
O código acima usa o cabeçalho HTTP X-Frame-Options
e a política de segurança de conteúdo Content-Security-Policy
para impedir que a página seja carregada em iframes, mitigando o ataque de clickjacking.
X-Frame-Options
com valor DENY
ou SAMEORIGIN
.frame-ancestors 'self'
.