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.

Назад