JavaScript PasteJacking

Penyemak imbas moden boleh menggunakan JavaScript untuk membaca dan menulis ke papan keratan pengguna, yang bermaksud mereka juga dapat memanipulasinya. Teknologi yang mendasari adalah topi lama, tetapi baru-baru ini semakin banyak serangan (dengan nama "PasteJacking") telah beredar di rangkaian yang memanfaatkan kemungkinan ini untuk pengguna yang tidak berpengalaman. Pelaksanaan dalam JavaScript adalah dangkal.


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