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.

バック