编码员征服安全。分享与学习系列--点击劫持

2019年2月14日发布
作者:Jaap Karan Singh
案例研究

编码员征服安全。分享与学习系列--点击劫持

2019年2月14日发布
作者:Jaap Karan Singh
查看资源
查看资源

苏西打开她的电子邮件,以逃避两天后要提交的一份讨厌的报告。她看到收件箱中出现了一个免费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

想要更多吗?

在博客上深入了解我们最新的安全编码见解。

我们广泛的资源库旨在增强人类对安全编码技术提升的方法。

查看博客
想要更多吗?

获取关于开发者驱动的安全的最新研究

我们广泛的资源库充满了有用的资源,从白皮书到网络研讨会,让你开始使用开发者驱动的安全编码。现在就去探索它。

资源中心

编码员征服安全。分享与学习系列--点击劫持

2019年2月14日发布
作者:Jaap Karan Singh

苏西打开她的电子邮件,以逃避两天后要提交的一份讨厌的报告。她看到收件箱中出现了一个免费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 "头,以防止他人以恶意方式使用你的网站。不要让攻击者操纵你的用户。不要被点击劫持。

我们希望得到您的许可,向您发送有关我们产品和/或相关安全编码主题的信息。我们将始终以最谨慎的态度对待您的个人资料,绝不会将其出售给其他公司用于营销目的。

提交
要提交表格,请启用 "分析 "cookies。完成后,请随时再次禁用它们。