Facebook蠕虫到底如何工作?


27

最初,我以为我的FB朋友正在传播恶意链接,因为她天真的接受了一个应用程序并获得了特权,但她说并非如此。见交流:

朋友: “不要单击您从我那里得到的链接!它已被感染!我是从(已删除名称的)那里得到的!!!对不起!我得停下******来!”
我: “您接受了FB应用程序。您所要做的就是转到“帐户”->“隐私设置”->“应用程序和网站”,然后不接受有问题的应用程序。这就是为什么我不做FB应用程序的原因。”
朋友:这不是应用。不在清单上...是蠕虫

这是如何运作的?当用户点击链接时,JavaScript会恶作剧吗?

Answers:


31

是的,完全是JavaScript。我刚刚遇到了这种蠕虫,并试图对其进行解码。

实际的问题是:

最近的Facebook蠕虫的工作原理是使用户访问页面,这使他们将JavaScript字符串插入其地址栏中并执行该字符串。

因此,永远不要将一些JavaScript代码复制到您的地址栏中。那是主要问题。并且不要单击任何您不信任的链接。或者至少使用“ 隐私权模式”(Firefox)或“ 隐身模式”(Chrome)在新窗口中打开这些链接,以使其无法访问您的Facebook会话。


我们的黑客做了什么使人们不知道自己在做什么?

转义脚本

您复制到URL栏中的字符串主要链接到另一个执行的JavaScript。该脚本实际上已解码为实体。因此,不是使用字符串字符,而是将整个脚本放入一个字符串中并进行转义,这样一来,任何人都无法阅读它。

例如,如果我有一个非常恶意的功能,则可以将其转义,而用户只会看到:

函数%20test%28%29%20%7B%20alert%20%28%22LOL%22%29%3%3B%20%7D

并没有逃脱

功能test(){alert(“ LOL”); }

因此,脚本在执行之前先转义“自身”。

混淆它

现在变得越来越难看:转义之前,邪恶的JavaScript代码已被混淆,函数名称如_____x,变量如aLDIWEJ。对于JavaScript来说,这仍然有意义,但是对于人类来说,这是完全不可读的。再次这样做是为了掩盖我们的Facebook黑客的意图。

此时,代码可能看起来像这样:

在此处输入图片说明

脚本做什么

好吧,这个脚本要做的是参加您当前的Facebook会话。因为您已登录该站点,所以它可以以您的名义进行任何操作。例如,它可以通过Facebook的API执行以下操作:

  • 创建一个事件,例如“ OMG,我可以看到谁在跟踪我!”
  • 与人聊天
  • 发布状态更新
  • 等等

这一切都是通过调用某些Facebooks API页面(某些PHP页面,我忘记了)来实现的。


5

简而言之,它是一种病毒,就像其他病毒一样。它用于复制自身的方法是在从其他人的页面执行后在您的帐户上发布帖子。根据您使用的浏览器和/或操作系统以及它所存在的漏洞,一切皆有可能。基本上,一旦脚本在浏览器中运行(可以从简单的单击开始),它便依次使用缓存的凭据在页面上发布帖子……其中包含与您最初单击的相同/相似的链接。

除非禁用javascript / flash /和其他许多功能(facebook要求),否则您将无法保护自己免受此类攻击。

快速而肮脏的解决方法...在单击其他人的帖子中的任何链接之前,请先查看其发展趋势。避免使用任何以井号(“#”)结尾或具有某种javascript参考的链接...或没有任何实际链接。(即似乎没有任何URL)

或者,您可以始终采用我的方法...并完全避免使用facebook / twitter / etc...。我还没有找到任何可以赋予我任何价值或重要性的服务。朋友和家人知道如何发送电子邮件...或更妙的是...拿起电话。(只是我的意见,这是值得的)


1
不太准确...有很多方法可以保护自己免受此伤害。例如,您可以使用NoScript之类的插件来不执行javascript。您可以使用隐私模式/隐身模式在新窗口中打开链接,新窗口将无权访问您的Facebook会话。如果您的安全性仅依赖于避免可疑链接,则效果不是很好。如果改用正确的安全浏览工具,则不必担心每次链接单击后都会隐藏什么。
布莱恩·史罗斯

@Brian Schroth:正如我在我的帖子中所说,“短短禁用javascript / flash / ....” NoScript就是这样做的。您是正确的,仅查看链接的目标不会使您免受许多攻击...隐身模式等不会保护您免受病毒的侵害...并在尝试跟踪会话之间的链接时也会引起问题。实际上,人们应该生活在对链接之外的事物的恐惧中。他们应该花点时间考虑一下正在点击的内容。
TheCompWiz

1
NoScript不会禁用Javascript。它提供对javascript执行和不执行操作的细粒度控制。您的答案意味着,如果您“禁用Javascript”,则不能再使用Facebook。但是,如果您使用NoScript,则可以允许facebook.com脚本,同时仍然免受某些随机恶意软件站点的Javascript的保护。
布莱恩·史罗斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.