Использование JavaScript для атаки через манипуляцию с содержимым буфера обмена

Появление в JavaScript средств для копирования и изменения данных в буфере обмена открыло двери для организации нового вида атаки по подстановке дополнительных команд при вставке данных в терминал из буфера обмена.

В отличие от ранее предложенной атаки, основанной на размещении невидимого блока «span», новая атака подменяет данные силами JavaScript, отслеживая событие копирования из текущего окна браузера в буфер обмена и через 800 мс после определения нажатия Ctrl+C осуществляя добавление дополнительных данных в буфер обмена. При этом браузер не запрашивает у пользователя подтверждения операции по изменению содержимого буфера обмена. Метод также предоставляет более простой способ подстановки в буфер обмена спецсимволов и шестнадцатеричных последовательностей (например, «x1b»), которые могут применяться для атаки на vim.

В демонстрационном примере предлагается скопировать в буфер обмена строку «echo not evil», при вставке которой в терминал будет выведена последовательность:

   echo "evil"n

Для скрытия лишнего ввода можно использовать команду «clear» или «echo -ne ’33[1F33[2K'», например, в данном примере будет выполнено:

   touch ~/.evil
   clear
   echo "not evil"

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.