JavaScript PasteJacking

Pelayar moden boleh menggunakan JavaScript untuk mengakses dan memanipulasi papan klip pengguna, sama ada membaca mahupun menulis. Teknologi asas bukanlah sesuatu yang baharu, tetapi hanya baru-baru ini semakin banyak serangan (dikenali sebagai "pastejacking") muncul dalam talian, mengeksploitasi keupayaan ini sehingga merugikan pengguna yang tidak curiga. Melaksanakannya dalam JavaScript agak mudah.


Hanya skrip berikut yang disatukan di pihak yang berniat jahat:

27670b8ba9840e688369822a3fcfb2d9

Sekiranya anda menyalin teks dari halaman seperti itu, rentetan yang tidak diingini akan selalu berakhir di papan keratan (tanpa mengira teks yang disalin dalam pelaksanaan ini). Daripada "perintah jahat" sekarang anda boleh menghasilkan banyak perkara yang tidak baik. Seluruhnya menjadi maut jika pemecahan garis di hujung talian digunakan untuk segera melaksanakan kod tersebut:

27670b8ba9840e688369822a3fcfb2d9

Ia juga mudah untuk menetapkan semula output konsol sehingga pengguna tidak segera melihat apa yang telah dimasukkan. Sebagai contoh, dapat dibayangkan bahawa ketika menyalin potongan kod yang tidak berbahaya, seseorang dapat menembak partisi seseorang secara berlalu.

27670b8ba9840e688369822a3fcfb2d9

Papan keratan boleh dimanipulasi (dalam bentuk yang berbeza) walaupun tanpa JavaScript:

27670b8ba9840e688369822a3fcfb2d9

Sekiranya anda memilih teks yang diingini, misalnya di Firefox terbaru (ayat 45.0), bukan teks ini di belakangnya yang berakhir di papan keratan.

Kedua-dua kaedah boleh dicuba secara langsung di sini. Berikut adalah varian JS:

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

Serta varian CSS:

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

Belakang