LINUX.ORG.RU
ФорумTalks

Концепция атаки по подмене копируемого в терминал текста с сайта

 ,


2

0

Опубликована интересная концепция тривиальной, но эффективной, атаки, рассчитанной на излишнее доверие к увиденным при копировании в терминал примерам команд с различных сайтов. Используя невидимый, но помещаемый в буфер обмена при копировании, блок «span», можно вместо невинного текста, организовать выполнение в терминале произвольных команд.

http://www.opennet.ru/opennews/art.shtml?num=36619

Ответ на: комментарий от shell-script

Даже если терминал не рутовый всё равно проблем можно отхватить.

Programmist11180 ★★★
()
Ответ на: комментарий от shell-script

Если человек тащит в систему скрипты, не понимая, что в них, копирует неизвестные команды и следует инструкциям, не вникая в их суть

А если я копирую зная и суть и что в них?

Почему из-за этого должны страдать нормальные пользователи

не надо сюда примешивать мифических «нормальных пользователей терминала». Это не вопрос нормальности пользователей, это вопрос отображения информации в браузере и как с этим бороться.

Твой позицию я уже понял - отключать копи-паст вообще, а то вдруг кто-нить пострадает. Причём отключать везде т.к. неизвестно где в следующий раз дыра найдётся при обратке данных из буфера. А ведь копировать можно не только текст, но медиа-информацию, а дыр во всяких libav/libpng/libav/итп достаточно.

теряя функциональность терминала

Очевидно что это должно настраиваться.

true_admin ★★★★★
()
Ответ на: комментарий от shell-script

Если человек тащит в систему скрипты, не понимая, что в них, копирует неизвестные команды и следует инструкциям, не вникая в их суть,

Ты действительно не видишь разницы между скопировать не понимая и скопировать осознанно, чтобы не набивать вручную сотни символов, или только прикидываешься? Типа все лохи, а я кулхацкер?

Worron ★★★
()
Ответ на: комментарий от IPR

рм -рф /

Ну, у тебя вообще не было указания каталога.

ошибки можно скрыть.

Саму команду скрыть нельзя, и, пока она будет лазить по неуязвимому для обычного пользователя /, он всяко успеет нажать Ctrl-C. А rm -rf ~ - мгновенные увечия.

tailgunner ★★★★★
()
Ответ на: комментарий от true_admin

Твой позицию я уже понял - отключать копи-паст вообще, а то вдруг кто-нить пострадает.

Я выше писал, что как раз наоборот, мне нужен копипаст и нужен он с переносами строки. Но копировать команды из недоверенного источника и их выполнять - это ошибка пользователя.

Я, например, иногда, когда что-то делаю, свои собственные команды копирую в файл, а потом их повторно запускаю. Всем скопом. Потому что знаю, что они значат и откуда они взялись.

Вот, тут скрытый текст может в буфер попасть и все заволновались внезапно. А то, что уже много лет часто в браузере встречаются непечатные символы или utf-коды, которые при копировании в терминал точно так же могут, если не поломать что-нибудь, то как минимум предоставить множество неудобств, все забыли. А ещё есть javascript'ы которые при копировании могут вставлять произвольный текст в буфер(чем пользуются люди, боящиеся того, что кто-то скопирует информацию с их сайта и не проставит копирайты). Почему об этом не кричали как об уязвимости? Да мало ли чего там ещё может быть. Поэтому есть простейшие правила работы с системой и одно из них - «не копируй из браузера команды». Я считаю, что это так же очевидно, как, к примеру, «не проверяй на сервере неизвестные однострочники», «не выкладывай в интернете приватные ssh-ключи», «не вводи пинкод своей карты» и т.д.

shell-script ★★★★★
()
Ответ на: комментарий от Worron

Если так сильно хочется, есть текстовый редактор. Но я не могу представить себе такой команды, которую мне захотелось бы скопировать из интернетов и запустить на своём компе.

shell-script ★★★★★
()
Ответ на: комментарий от bhfq

предлагаю сносить сообщения со снятием скора за rm rf /

Да, rm -rf / уже унылая шутка (и не работает). Но ведь есть же rm -rf /* ! Она-то чем провинилась?

ekzotech ★★★★
()
Ответ на: комментарий от tailgunner

nohup rm -rf > /dev/null 2> /dev/null &

Если не знать значения этой команды, то увы.

IPR ★★★★★
()

lilyterm выдаёт окошко с содержимым вставляемого буфера, если во вставке присутствует перенос строки.

fjoe
()
Ответ на: комментарий от fjoe

lilyterm выдаёт окошко с содержимым вставляемого буфера, если во вставке присутствует перенос строки.

а это отличное решение!

вот бы это решение для Gnome-Terminal !

user_id_68054 ★★★★★
()
Ответ на: комментарий от shell-script

Почему об этом не кричали как об уязвимости?

это филосовский вопрос

копировать команды из недоверенного источника и их выполнять - это ошибка пользователя.

Я не рассуждаю на тему что есть «ошибки пользователя». Я говорю что вместо ещё одного дурацкого правила «не копируйте из недоверенного источника» нужен более удобный и дуракоустойчивый механизм защиты. Стоит хотя бы подумать над тем как это можно сделать.

true_admin ★★★★★
()
Ответ на: комментарий от shell-script

Если так сильно хочется, есть текстовый редактор.

Ну вот, значит пришли к тому, что копировать таки можно, но через задн текстовой редактор. Правильнее, наверно, все же с переводом строки в терминалах что-то сделать, чем такой костыль.

Worron ★★★
()
Ответ на: комментарий от shell-script

скрытый текст может в буфер попасть и все заволновались внезапно

заволновались не потому что «скрытый текст попадает в буфер», а потому что это слишком просто делается. Тому кто захочет разместить этот самый текст, ненадо напрягаться с javascript, размышлять над спецсимволами терминала и вообще напрягать голову. «атака» легко реализуемая школьником даже без знаний html - просто по инструкции. Одинаково работающая для *nix терминалов, powershell (а тама скрипты подлиннее и соотв.проверить их сложнее), редакторов и IDE;

Соответвенно ЭТО сначала в виде шуток и «приколов» поползёт по всяким блогам, потом появятся специально сделанные (специально сломанные) сайты и так.далее.

MKuznetsov ★★★★★
()
Ответ на: комментарий от quickquest

В конце каждой строки - создание/проверка БЦП

Эээ, а что мешает злоумышленнику подписать при помощи БЦП строку вида «rm -rf»?

true_admin ★★★★★
()

Всегда знал что винда надежнее линукса, ведь в скриншоты и видеоинструкции встроить что-то будет сложно.

onon ★★★
()
Ответ на: комментарий от quickquest

Дык, это защита не от глупости, а от модификации строки.

Эээ, мне бы всё же хотелось what you see (in your browser) is what you get (in your clipboard). Хотя, по-моему, слишком поздно.

true_admin ★★★★★
()
Ответ на: комментарий от onon

ведь в скриншоты и видеоинструкции встроить что-то будет сложно.

А там напишут «а теперь введите format c:, это нужно для очистки временных файлов».

true_admin ★★★★★
()
Ответ на: комментарий от shell-script

Если копипастит из интернета, значит не понимает, что делает и
пытается искать пошаговые HOWTO для решения текущих задач.

Не факт. Может, просто wiki использует, как собственную записную книжку и сам же это и написал ранее ? А вот подменить втихаря могут, это да... Особенно, если wiki общедоступная...

AS ★★★★★
()

Зачем же так над новичками издеваться? Линуусом итак пользуется 1%, а после таких штучек станет ещё меньше.

ArturK
()

Мне в голову уже давно как-то закрадывалась мысля о возможности подмены копируемого текста, поэтому при копипасте команд всегда анализирую что они делают.

wintrolls ☆☆
()
Ответ на: комментарий от wintrolls

поэтому при копипасте команд всегда анализирую что они делают.

Интересно, как? В браузере их не видно, а в терминале - уже выполняются

segfault ★★★★★
()

пунто свитчер спасет админов русской демократии

Erfinder
()

100% аццкий баг браузеров и только браузеров. В буфер должно попадать только то, что пользователь видит на экране. Консоль тут совершенно не при чём, глюки копирования текста из браузеров в любые другие софтины частенько бесят не-по детски. Особенно всякие таблички, извращённое форматирование (когда выделяешь абзац текста на странице, а буфере оказывается до кучи менюшки и прочая хня) и прочая. А уж перевод строки - вообще браузером вставляется как угодно, но не так как нужно. Выделяешь одну единственную строку - а он и перевод строки обязательно сунет.

Во всех браузерах, кстати, копирование в буфер сделано исключительно через жопу.

Так что это браузерописателям надо мозг компостировать на предмет багов.

Stanson ★★★★★
()
Ответ на: комментарий от segfault

Интересно, как? В браузере их не видно, а в терминале - уже выполняются

Поэтому я их промежуточно вставляю в текстовый редактор. А короткие команды можно набрать и вручную.

wintrolls ☆☆
()
Ответ на: комментарий от true_admin

а теперь введите format c:

C:\>format c:
Тип файловой системы: NTFS.
Введите метку тома для диска C: LOR
Указана недопустимая метка диска.

C:\>
wintrolls ☆☆
()

Жду патча для лоровской разметки.

thesis ★★★★★
()
Ответ на: комментарий от wintrolls
C:\>format c:
Тип файловой системы: NTFS.
Введите метку тома для диска C: WIN

ВНИМАНИЕ, ВСЕ ДАННЫЕ НА НЕСЪЕМНОМ
ДИСКЕ C: БУДУТ УНИЧТОЖЕНЫ!
Приступить к форматированию [Y(да)/N(нет)]? y
Проверка: 2811 МБ

Невозможно запустить команду Format, т.к. том используется другим процессом.
Можно запустить Format, если вначале отключить этот том.
ВCE ОТКРЫТЫЕ ДЕСКРИПТОРЫ ТОМА БУДУТ ДАЛЕЕ НЕВЕРНЫ.
Подтверждаете отключение тома? [Y(да)/N(нет)] y
Не удается заблокировать диск. Том используется другими пользователями.

C:\>

Нужно угадать с меткой тома. Также см. количество предупреждений.

wintrolls ☆☆
()
Ответ на: комментарий от Stanson

В опере, кстати, копирование текста вроде более-менее адекватное, а вот в тормозилле полное уг.

wintrolls ☆☆
()
Ответ на: комментарий от segfault

Хотя идея экранирования переносов строк годная, да.

wintrolls ☆☆
()

lynx:

Например, после копирования в окно терминала строки «git clone /dev/null; clear; echo „Hello“ git clone git://git.kernel.org/pub/scm/utils/kup/kup.git» на самом деле будет выполнена команда «git clone /dev/null; clear; echo Hello» и отображён текст «git clone git://git.kernel.org/pub/scm/utils/kup/kup.git».

В elinks аналогично

cvs-255 ★★★★★
()
Ответ на: комментарий от Stanson

+1. Наконец-то, хоть кто-то в этом треде не предлагает патчить консоль.

shell-script ★★★★★
()

Это сказочно! :3
Спасибо.
Теперь буду копировать что-то, только через «vim temp» :)
UPD: а я тут глянул на маны, что обычно пользую, и с прискорбием понял что не копирую команды, а бью их руками, что бы запоминать (старая привычка). Но всё равно спасибо.

Spirit_of_Stallman ★★★
()
Последнее исправление: Spirit_of_Stallman (всего исправлений: 1)
Ответ на: комментарий от IPR

tazhate, совести у тебя нет. Это же просто идея, люди должны знать чего бояться.

Мы обычно такие вещи с -20 сносим. Так что совесть есть ;)

tazhate ★★★★★
()
Ответ на: комментарий от tazhate

Окей, я предлагаю вопросить в соответствующем форуме о разрешении подобной тематики.

IPR ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.