文章中的一段简短引述“老把戏又演变成了新把戏:危险的复制粘贴”在 H Security 网站上:
复制和粘贴内容并不一定意味着用户会得到他们想要的东西。使用一点 HTML 魔法,甚至可以诱骗不知情的网站访问者在不知情的情况下执行 shell 命令。这个技巧绝不是新技巧,但它目前在几个网站上再次得到演示,这意味着 Linux 用户尤其要小心他们复制和粘贴的内容。
Ubuntu 12.10 用户该如何缓解该问题?
答案1
避免此问题的一些简单方法:
仅选择(将鼠标拖过)您看到的文本。如果发现有多行,请不要向下拖动鼠标以选择所有行。相反,逐行选择每一行,并且仅选择您实际看到的文本。当然,这并不总是有效(事实上,正如 Chaskes 提到的和提供的链接所示,它仍然会携带恶意代码)。您仍然需要先将内容复制/粘贴到文本文件中。
另一种更快捷的方法是使用 Rambo 选中文本,然后选择整个内容。然后将其粘贴进去
gedit
。您将能够看到其中是否包含任何可疑内容。检测此类恶意代码的一个好方法是双击它。当您双击某些此类隐藏代码时,可选部分将突出显示,我可能会显示一些看起来完全错误的内容。例如,以下是与同一篇文章相关的 2 个案例:
在这种情况下,我双击了ls部分。我假设作为普通用户,它会突出显示整行,但实际上却做了上述操作。这表明ls并且代码行的其余部分不在同一 HTML 元素上,这提示您 HTML 存在问题。可能是错误的标签或恶意的。
在本例中,您可以看到突出显示的部分一直向右移动,尽管在这种情况下,如果您将复制的代码粘贴到 gedit,它会显示正确的信息,但这是使用恶意代码的另一种方式。代码可以隐藏在右侧,通过双击它,即使您看不到它,突出显示的部分仍会占据它(例如,将右侧菜单的 z-index 值更改为高于其余菜单的 z-index 值,最重要的是,确保一切看起来“良好”。
在这两种情况下,双击代码都不会显示实际的行。我还想补充一点,如果你双击并选择了整行,就像在第二个示例中一样,这在某些网站上可能并不是一件坏事。网站可以将选定区域作为整行来处理,而不是仅选择文本,如下例所示:
如您所见,我双击了该命令,但它突出显示了整行。是的,这背后可能有一些恶意代码,但由于该网站是受信任的,因此降低了发生这种情况的可能性(不过,为了确保万无一失,请将内容粘贴到文本编辑器中)。
它实际上不应该做的是选择一半代码,然后执行我发布的第一张图片所做的操作,即跳转到页面底部而没有“出现的原因”,而不是选择它所在的整行。
执行这一点非常容易,而且完全避免这一点也非常容易。
就我而言,如果它很长(并且我相信该网站正在从中复制它)那么我会把它放在 gedit 中。
答案2
最简单的方法可能是先将文本粘贴到纯文本编辑器(如 Gedit)中。我养成了这个习惯,以便删除周围的网页格式或有时会意外复制的对象,但它也会让您看到您复制的所有内容。
您还可以在浏览器文档中单击鼠标右键,查看页面源代码以查看其中的实际内容。