点击劫持 (Clickjacking) 是一种通过在合法网页上覆盖透明的 iframe 来诱骗用户点击隐藏元素的攻击手法。用户以为自己在点击可见的按钮或链接,实际上却在与隐藏的恶意页面交互。
点击劫持可能导致用户在不知情的情况下执行敏感操作:点赞社交媒体帖子、授权应用访问、更改账户设置、甚至进行金融交易。这种攻击之所以有效,是因为用户完全看不到隐藏的 iframe 内容。欢迎参阅在 Amazon 搜索 Web 攻击防护书籍。
防范点击劫持的主要方法是使用 X-Frame-Options HTTP 头或 CSP 的 frame-ancestors 指令来控制页面是否可以被嵌入到 iframe 中。
在 URL 缩短服务中,防止服务页面被嵌入到恶意 iframe 中是重要的安全措施。特别是包含用户操作 (如创建链接、修改设置) 的页面,应该设置 X-Frame-Options: DENY 或 SAMEORIGIN。在 Amazon 搜索浏览器安全书籍详细解释了这些防护机制。