JavaScript PasteJacking

借助JavaScript,现代的浏览器可以读写用户的剪贴板,即他们也可以对其进行操作。 底层技术已经很老套了,但是直到最近,网络上仍在传播越来越多的攻击(以“ PasteJacking”的名义),这些攻击为没有经验的用户提供了这种机会。 JavaScript中的实现是平庸的。


恶意方面仅集成了以下脚本:

27670b8ba9840e688369822a3fcfb2d9

如果从此类页面复制任何文本,则不需要的字符串将始终以剪贴板结尾(无论此实现中复制的文本如何)。 现在,您可以提出很多丑陋的东西,而不是“邪恶的命令”。 如果使用行尾的换行符立即执行代码,那么整个事情将变得致命。:

27670b8ba9840e688369822a3fcfb2d9

重置控制台输出也很容易,这样用户就不会立即注意到他输入的内容。 例如,可以想到的是,在复制无害的代码片段时,可以通过来射击自己的分区。

27670b8ba9840e688369822a3fcfb2d9

即使没有JavaScript,也可以操纵剪贴板(以其他形式):

27670b8ba9840e688369822a3fcfb2d9

如果您选择所需的文本,例如在最新的Firefox(v。45.0)中,则不是此文本,而是其后面的文本最终出现在剪贴板中。

这两种方法都可以在此处现场试用。 这是JS变体:

See the Pen Pastejacking #1 by David Vielhuber (@vielhuber) on CodePen.

以及CSS变体:

See the Pen Pastejacking #2 by David Vielhuber (@vielhuber) on CodePen.

背部