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.

Назад