JavaScript PasteJacking

现代浏览器可以使用JavaScript来读写用户剪贴板,这意味着它们也可以对其进行操作。 底层技术已经很老套了,但是直到最近,Internet上才出现了越来越多的攻击(以“ 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.

背部