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 supaya pengguna tidak segera menyedari apa yang telah mereka masukkan. Sebagai contoh, boleh dibayangkan bahawa apabila menyalin coretan kod yang tidak berbahaya, anda mungkin memusnahkan partition anda secara berlalu.
27670b8ba9840e688369822a3fcfb2d9
Papan keratan boleh dimanipulasi (dalam bentuk yang berbeza) walaupun tanpa JavaScript:
27670b8ba9840e688369822a3fcfb2d9
Jika anda menandakan teks yang diingini, contohnya dalam Firefox terkini (v. 45.0) ia bukan teks yang berakhir di papan keratan, tetapi teks di belakangnya.
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.