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.

Назад