
编码员征服安全。分享与学习系列--点击劫持
苏西打开她的电子邮件,以逃避两天后要提交的一份讨厌的报告。她看到收件箱中出现了一个免费iPad的链接。点击后,她进入了一个网站,上面有一个大的横幅页面,上面写着:"点击这里获得免费的iPad!"。她点击了这个按钮,但似乎没有什么真正发生。问题是,确实发生了一些事情。
在回到她的收件箱后,她意识到她所有的邮件都被删除了。她甚至没有点击任何一封的 "删除"。发生了什么事?
该电子邮件网站被点击劫持了。点击劫持欺骗用户执行他们无意执行的行动,它可能导致严重的问题。
现在让我们来看看点击劫持是如何运作的,为什么它很危险,以及像你这样的开发者可以做些什么来防止它。
理解点击劫持行为
点击劫持,也被称为 "UI重塑攻击",发生在攻击者使用网页上的几个透明层来欺骗用户点击用户无意点击的按钮或链接。
你是否曾经有一只虫子卡在你的车里?它们愤怒地贴着窗户飞起来,试图飞到外面。虫子的意图是飞到看起来像树木和露天的地方,而无视挡住它去路的玻璃。
点击劫持在设计上是类似的,只不过用户是虫子,而你的网站是挡住去路的玻璃。用户看到他们想要的东西,如免费的iPhone。攻击者将你的网站放在免费iPhone广告上方的一个透明框架内。当用户点击按钮来获取所谓的 "免费 "奖品时,他们实际上是点击了你网站上的一个按钮,执行了一个他们无意的动作。
为什么点击劫持是危险的
攻击者可以通过点击劫持做什么?这主要取决于有关网站的功能。
攻击者可以让用户在社交媒体上喜欢或分享攻击者的网站。这很容易做到,因为许多人为了方便而保持登录他们的社交媒体账户。
如果你的网站可以放置在一个框架中,一个敏感的操作可以通过点击一个按钮来完成,这可以作为一个攻击的载体。例如,用户点击获得一个免费的iPad,但却改变了你网站上的账户设置,使账户的安全性降低。这种类型的攻击是针对Adobe Flash插件设置页面的。这些设置可以放在一个透明的框架中,欺骗用户允许任何Flash动画访问麦克风和摄像头。然后,攻击者可以对受害者进行录音;这是对隐私的重大侵犯。
一个电子邮件客户端可能被框入一个网站,导致用户删除他们邮箱中的所有电子邮件或将电子邮件转发到一个由攻击者控制的电子邮件地址。
底线是:用户看不到他们在点击什么,所以他们可以被说服去点击任何东西。无论是社交分享还是下载恶意软件,其可能性都很大。
如何挫败点击劫持行为
点击劫持是可以预防的。建议防止点击劫持的方法是为你的网站定义一个内容安全策略,或称CSP。使用 "frame ancestors "HTTP响应头,你可以控制你的网站如何被框住。
- "frame-ancestors none"--不允许其他网站框住你的网站。这是推荐的设置。
- "frame-ancestors self'--你的网站中的页面只能被你网站中的其他页面框住。
- "frame-ancestors self <uri list=""> - Your site can be framed by the sites in the URI lists and no others.</uri>
目前,CSP的框架锚定器并不被所有的主要浏览器所支持。对于这些浏览器,请使用 "X-Frame-Options "HTTP头作为后备选项。
- DENY--没有人可以架设你的网站。这是推荐的设置
- SAMEORIGIN - 与CSP的 "self "相同。你可以给自己的内容加框,但其他人不能。
- ALLOW-FROM <uri> - Allow the specified URI to frame your content.</uri>
不要被劫持
点击劫持是一种聪明的、误导性的攻击,如果你的产品能被攻击者操纵,就会导致声誉受损和收入损失。请查看我们的免费学习资源,了解更多关于点击劫持的信息。
使用内容安全策略和 "X-Frame-Options "头,以防止他人以恶意方式使用你的网站。不要让攻击者操纵你的用户。不要被点击劫持。
Jaap Karan Singh是一位安全编码布道者,首席辛格和Secure Code Warrior 的共同创始人。

Secure Code Warrior 我们在这里为您的组织提供服务,帮助您在整个软件开发生命周期中确保代码安全,并创造一种将网络安全放在首位的文化。无论您是应用安全经理、开发人员、CISO或任何涉及安全的人,我们都可以帮助您的组织减少与不安全代码有关的风险。
预定一个演示Jaap Karan Singh是一位安全编码布道者,首席辛格和Secure Code Warrior 的共同创始人。


苏西打开她的电子邮件,以逃避两天后要提交的一份讨厌的报告。她看到收件箱中出现了一个免费iPad的链接。点击后,她进入了一个网站,上面有一个大的横幅页面,上面写着:"点击这里获得免费的iPad!"。她点击了这个按钮,但似乎没有什么真正发生。问题是,确实发生了一些事情。
在回到她的收件箱后,她意识到她所有的邮件都被删除了。她甚至没有点击任何一封的 "删除"。发生了什么事?
该电子邮件网站被点击劫持了。点击劫持欺骗用户执行他们无意执行的行动,它可能导致严重的问题。
现在让我们来看看点击劫持是如何运作的,为什么它很危险,以及像你这样的开发者可以做些什么来防止它。
理解点击劫持行为
点击劫持,也被称为 "UI重塑攻击",发生在攻击者使用网页上的几个透明层来欺骗用户点击用户无意点击的按钮或链接。
你是否曾经有一只虫子卡在你的车里?它们愤怒地贴着窗户飞起来,试图飞到外面。虫子的意图是飞到看起来像树木和露天的地方,而无视挡住它去路的玻璃。
点击劫持在设计上是类似的,只不过用户是虫子,而你的网站是挡住去路的玻璃。用户看到他们想要的东西,如免费的iPhone。攻击者将你的网站放在免费iPhone广告上方的一个透明框架内。当用户点击按钮来获取所谓的 "免费 "奖品时,他们实际上是点击了你网站上的一个按钮,执行了一个他们无意的动作。
为什么点击劫持是危险的
攻击者可以通过点击劫持做什么?这主要取决于有关网站的功能。
攻击者可以让用户在社交媒体上喜欢或分享攻击者的网站。这很容易做到,因为许多人为了方便而保持登录他们的社交媒体账户。
如果你的网站可以放置在一个框架中,一个敏感的操作可以通过点击一个按钮来完成,这可以作为一个攻击的载体。例如,用户点击获得一个免费的iPad,但却改变了你网站上的账户设置,使账户的安全性降低。这种类型的攻击是针对Adobe Flash插件设置页面的。这些设置可以放在一个透明的框架中,欺骗用户允许任何Flash动画访问麦克风和摄像头。然后,攻击者可以对受害者进行录音;这是对隐私的重大侵犯。
一个电子邮件客户端可能被框入一个网站,导致用户删除他们邮箱中的所有电子邮件或将电子邮件转发到一个由攻击者控制的电子邮件地址。
底线是:用户看不到他们在点击什么,所以他们可以被说服去点击任何东西。无论是社交分享还是下载恶意软件,其可能性都很大。
如何挫败点击劫持行为
点击劫持是可以预防的。建议防止点击劫持的方法是为你的网站定义一个内容安全策略,或称CSP。使用 "frame ancestors "HTTP响应头,你可以控制你的网站如何被框住。
- "frame-ancestors none"--不允许其他网站框住你的网站。这是推荐的设置。
- "frame-ancestors self'--你的网站中的页面只能被你网站中的其他页面框住。
- "frame-ancestors self <uri list=""> - Your site can be framed by the sites in the URI lists and no others.</uri>
目前,CSP的框架锚定器并不被所有的主要浏览器所支持。对于这些浏览器,请使用 "X-Frame-Options "HTTP头作为后备选项。
- DENY--没有人可以架设你的网站。这是推荐的设置
- SAMEORIGIN - 与CSP的 "self "相同。你可以给自己的内容加框,但其他人不能。
- ALLOW-FROM <uri> - Allow the specified URI to frame your content.</uri>
不要被劫持
点击劫持是一种聪明的、误导性的攻击,如果你的产品能被攻击者操纵,就会导致声誉受损和收入损失。请查看我们的免费学习资源,了解更多关于点击劫持的信息。
使用内容安全策略和 "X-Frame-Options "头,以防止他人以恶意方式使用你的网站。不要让攻击者操纵你的用户。不要被点击劫持。

苏西打开她的电子邮件,以逃避两天后要提交的一份讨厌的报告。她看到收件箱中出现了一个免费iPad的链接。点击后,她进入了一个网站,上面有一个大的横幅页面,上面写着:"点击这里获得免费的iPad!"。她点击了这个按钮,但似乎没有什么真正发生。问题是,确实发生了一些事情。
在回到她的收件箱后,她意识到她所有的邮件都被删除了。她甚至没有点击任何一封的 "删除"。发生了什么事?
该电子邮件网站被点击劫持了。点击劫持欺骗用户执行他们无意执行的行动,它可能导致严重的问题。
现在让我们来看看点击劫持是如何运作的,为什么它很危险,以及像你这样的开发者可以做些什么来防止它。
理解点击劫持行为
点击劫持,也被称为 "UI重塑攻击",发生在攻击者使用网页上的几个透明层来欺骗用户点击用户无意点击的按钮或链接。
你是否曾经有一只虫子卡在你的车里?它们愤怒地贴着窗户飞起来,试图飞到外面。虫子的意图是飞到看起来像树木和露天的地方,而无视挡住它去路的玻璃。
点击劫持在设计上是类似的,只不过用户是虫子,而你的网站是挡住去路的玻璃。用户看到他们想要的东西,如免费的iPhone。攻击者将你的网站放在免费iPhone广告上方的一个透明框架内。当用户点击按钮来获取所谓的 "免费 "奖品时,他们实际上是点击了你网站上的一个按钮,执行了一个他们无意的动作。
为什么点击劫持是危险的
攻击者可以通过点击劫持做什么?这主要取决于有关网站的功能。
攻击者可以让用户在社交媒体上喜欢或分享攻击者的网站。这很容易做到,因为许多人为了方便而保持登录他们的社交媒体账户。
如果你的网站可以放置在一个框架中,一个敏感的操作可以通过点击一个按钮来完成,这可以作为一个攻击的载体。例如,用户点击获得一个免费的iPad,但却改变了你网站上的账户设置,使账户的安全性降低。这种类型的攻击是针对Adobe Flash插件设置页面的。这些设置可以放在一个透明的框架中,欺骗用户允许任何Flash动画访问麦克风和摄像头。然后,攻击者可以对受害者进行录音;这是对隐私的重大侵犯。
一个电子邮件客户端可能被框入一个网站,导致用户删除他们邮箱中的所有电子邮件或将电子邮件转发到一个由攻击者控制的电子邮件地址。
底线是:用户看不到他们在点击什么,所以他们可以被说服去点击任何东西。无论是社交分享还是下载恶意软件,其可能性都很大。
如何挫败点击劫持行为
点击劫持是可以预防的。建议防止点击劫持的方法是为你的网站定义一个内容安全策略,或称CSP。使用 "frame ancestors "HTTP响应头,你可以控制你的网站如何被框住。
- "frame-ancestors none"--不允许其他网站框住你的网站。这是推荐的设置。
- "frame-ancestors self'--你的网站中的页面只能被你网站中的其他页面框住。
- "frame-ancestors self <uri list=""> - Your site can be framed by the sites in the URI lists and no others.</uri>
目前,CSP的框架锚定器并不被所有的主要浏览器所支持。对于这些浏览器,请使用 "X-Frame-Options "HTTP头作为后备选项。
- DENY--没有人可以架设你的网站。这是推荐的设置
- SAMEORIGIN - 与CSP的 "self "相同。你可以给自己的内容加框,但其他人不能。
- ALLOW-FROM <uri> - Allow the specified URI to frame your content.</uri>
不要被劫持
点击劫持是一种聪明的、误导性的攻击,如果你的产品能被攻击者操纵,就会导致声誉受损和收入损失。请查看我们的免费学习资源,了解更多关于点击劫持的信息。
使用内容安全策略和 "X-Frame-Options "头,以防止他人以恶意方式使用你的网站。不要让攻击者操纵你的用户。不要被点击劫持。
苏西打开她的电子邮件,以逃避两天后要提交的一份讨厌的报告。她看到收件箱中出现了一个免费iPad的链接。点击后,她进入了一个网站,上面有一个大的横幅页面,上面写着:"点击这里获得免费的iPad!"。她点击了这个按钮,但似乎没有什么真正发生。问题是,确实发生了一些事情。
在回到她的收件箱后,她意识到她所有的邮件都被删除了。她甚至没有点击任何一封的 "删除"。发生了什么事?
该电子邮件网站被点击劫持了。点击劫持欺骗用户执行他们无意执行的行动,它可能导致严重的问题。
现在让我们来看看点击劫持是如何运作的,为什么它很危险,以及像你这样的开发者可以做些什么来防止它。
理解点击劫持行为
点击劫持,也被称为 "UI重塑攻击",发生在攻击者使用网页上的几个透明层来欺骗用户点击用户无意点击的按钮或链接。
你是否曾经有一只虫子卡在你的车里?它们愤怒地贴着窗户飞起来,试图飞到外面。虫子的意图是飞到看起来像树木和露天的地方,而无视挡住它去路的玻璃。
点击劫持在设计上是类似的,只不过用户是虫子,而你的网站是挡住去路的玻璃。用户看到他们想要的东西,如免费的iPhone。攻击者将你的网站放在免费iPhone广告上方的一个透明框架内。当用户点击按钮来获取所谓的 "免费 "奖品时,他们实际上是点击了你网站上的一个按钮,执行了一个他们无意的动作。
为什么点击劫持是危险的
攻击者可以通过点击劫持做什么?这主要取决于有关网站的功能。
攻击者可以让用户在社交媒体上喜欢或分享攻击者的网站。这很容易做到,因为许多人为了方便而保持登录他们的社交媒体账户。
如果你的网站可以放置在一个框架中,一个敏感的操作可以通过点击一个按钮来完成,这可以作为一个攻击的载体。例如,用户点击获得一个免费的iPad,但却改变了你网站上的账户设置,使账户的安全性降低。这种类型的攻击是针对Adobe Flash插件设置页面的。这些设置可以放在一个透明的框架中,欺骗用户允许任何Flash动画访问麦克风和摄像头。然后,攻击者可以对受害者进行录音;这是对隐私的重大侵犯。
一个电子邮件客户端可能被框入一个网站,导致用户删除他们邮箱中的所有电子邮件或将电子邮件转发到一个由攻击者控制的电子邮件地址。
底线是:用户看不到他们在点击什么,所以他们可以被说服去点击任何东西。无论是社交分享还是下载恶意软件,其可能性都很大。
如何挫败点击劫持行为
点击劫持是可以预防的。建议防止点击劫持的方法是为你的网站定义一个内容安全策略,或称CSP。使用 "frame ancestors "HTTP响应头,你可以控制你的网站如何被框住。
- "frame-ancestors none"--不允许其他网站框住你的网站。这是推荐的设置。
- "frame-ancestors self'--你的网站中的页面只能被你网站中的其他页面框住。
- "frame-ancestors self <uri list=""> - Your site can be framed by the sites in the URI lists and no others.</uri>
目前,CSP的框架锚定器并不被所有的主要浏览器所支持。对于这些浏览器,请使用 "X-Frame-Options "HTTP头作为后备选项。
- DENY--没有人可以架设你的网站。这是推荐的设置
- SAMEORIGIN - 与CSP的 "self "相同。你可以给自己的内容加框,但其他人不能。
- ALLOW-FROM <uri> - Allow the specified URI to frame your content.</uri>
不要被劫持
点击劫持是一种聪明的、误导性的攻击,如果你的产品能被攻击者操纵,就会导致声誉受损和收入损失。请查看我们的免费学习资源,了解更多关于点击劫持的信息。
使用内容安全策略和 "X-Frame-Options "头,以防止他人以恶意方式使用你的网站。不要让攻击者操纵你的用户。不要被点击劫持。
资源
OpenText 应用程序安全性的强大功能 + Secure Code Warrior
OpenText Application Security and Secure Code Warrior combine vulnerability detection with AI Software Governance and developer capability. Together, they help organizations reduce risk, strengthen secure coding practices, and confidently adopt AI-driven development.
Secure Code Warrior corporate overview
Secure Code Warrior is an AI Software Governance platform designed to enable organizations to safely adopt AI-driven development by bridging the gap between development velocity and enterprise security. The platform addresses the "Visibility Gap," where security teams often lack insights into shadow AI coding tools and the origins of production code.
安全代码培训主题和内容
Our industry-leading content is always evolving to fit the ever changing software development landscape with your role in mind. Topics covering everything from AI to XQuery Injection, offered for a variety of roles from Architects and Engineers to Product Managers and QA. Get a sneak peek of what our content catalog has to offer by topic and role.
资源
Observe and Secure the ADLC: A Four-Point Framework for CISOs and Development Teams Using AI
While development teams look to make the most of GenAI’s undeniable benefits, we’d like to propose a four-point foundational framework that will allow security leaders to deploy AI coding tools and agents with a higher, more relevant standard of security best practices. It details exactly what enterprises can do to ensure safe, secure code development right now, and as agentic AI becomes an even bigger factor in the future.






