最新のブラウザはJavaScriptを使用して、ユーザーのクリップボードにアクセスし、読み書き操作を行うことができます。この技術自体は目新しいものではありませんが、近年、この機能を悪用してユーザーに被害を与える「ペーストジャッキング」と呼ばれる攻撃がオンライン上で増加しています。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.