编码员征服安全。分享与学习系列--点击劫持
苏西打开她的电子邮件,以逃避两天后要提交的一份讨厌的报告。她看到收件箱中出现了一个免费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 "头,以防止他人以恶意方式使用你的网站。不要让攻击者操纵你的用户。不要被点击劫持。
资源
安全技能基准测试:简化企业安全设计
寻找有关 "按设计确保安全 "计划成功与否的有意义的数据是众所周知的难题。首席信息安全官(CISO)在试图证明投资回报率(ROI)和安全计划活动在人员和公司层面上的商业价值时,往往会面临挑战。更不用说,企业要深入了解自己的组织是如何以当前的行业标准为基准的,更是难上加难。美国总统的《国家网络安全战略》向利益相关者提出了 "通过设计实现安全和弹性 "的挑战。让 "按设计保证安全 "计划发挥作用的关键不仅在于为开发人员提供确保代码安全的技能,还在于向监管机构保证这些技能已经到位。在本演讲中,我们将分享大量定性和定量数据,这些数据来自多个主要来源,包括从超过 25 万名开发人员那里收集的内部数据点、数据驱动的客户洞察力以及公共研究。利用这些数据点的汇总,我们旨在传达一个跨多个垂直领域的 "按设计保证安全 "计划的现状。报告详细阐述了这一领域目前未得到充分利用的原因、成功的技能提升计划对降低网络安全风险的重大影响,以及消除代码库中各类漏洞的潜力。