LINUX.ORG.RU
ФорумTalks

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

 ,


2

0

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

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

Годно, спасибо. Сам грешу этим же.

Deleted
()

Кто запилит rm -rf под видом полезного куска кода ?

Sadler ★★★
()

запилите sudo rm -rf /* под видом sudo apt-get update

prischeyadro ★★★☆☆
()

браузеры - говнюки.

cvs-255 ★★★★★
()

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

Например в текстовой файл, открытый вимом в соседней вкладке вашего konsole.

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

Ага, будешь каждый кусок вставлять в отдельный текстовый редактор, просматривать скрупулёзно, чтобы там внутри 1000-символьного куска не оказалось rm -rf.

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

Какие 1000 символов, уважаемый?

Попробуй копипастнуть пример с опеннета, все сразу понятно.

Таким образом, кстати, можно приучить копипастеров делать шел скрипты ;)

unt1tled ★★★★
()

Ээх, как же теперь жить? Теперь надо поставить приблуду которая показывает что копируется в буффер обмена. Например, через нотификаци. Есть такое?

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

Какие 1000 символов, уважаемый?

Самые обычные. Копипастят разные куски, разных размеров.

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

Не, там уязвимость уже фиксили. В терминал так тяжело копировать, что проще переписать.

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

Проще написать userscript

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

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

Думаю, можно и JS-ом динамически добавлять текст перед копированием =)

Sadler ★★★
()

может есть какие-нибудь плагины для konsole, чтоб скопированный текст, который содержит конец строки, не выполнялся?

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

С тем же успехом можно поставить в CSS полную прозрачность.

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

просматривать скрупулёзно, чтобы там внутри 1000-символьного куска не оказалось rm -rf

Как раз такие куски удобнее сначала править через текстовый редактор. К тому же если вставлять без просмотра то rm -rf можно и в видимом тексте проглядеть.

DNA_Seq ★★☆☆☆
()

ндя..причём не обязательно в терминал.

все сервисы на которых публикуется и с которых можно копипастить код представляют теперь опасность. Всякие коллекции снипетов, codepaste, он-лайн учебники и так далее. 100500 новодельных какеров быстро расштампуют подобные ресурсы добавляя всякую дрянь.

И если с терминалом ещё возможно решение, то искать что в скопированном в текстовый редактор 50-строчном коде есть «безобидная» лишняя строчка или лишний вызов или подмена имени функции просто будет далеко-далеко не каждый :(

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

Проблема не в браузерах

Тут правда фиксить нужно не браузеры, a терминалы, чтобы при вставке переводы строк удалялись. Меня всё время раздражало когда копируешь строку, а туда случайно попадает и перевод строки, из-за чего команда тут же выполняется после вставки. Кстати, а не написать ли фичреквест разработчикам Konsole?

firestarter ★★★☆
()

Ну теперь вы понимаете, почему ГОСТы на офсайте лежат исключительно в сканированном виде?

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

А разве нормальные люди копипастят всё подряд в рутовый терминал?

Нормальные, может, и нет, а админ с моей бывшей работы - запросто.

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

может есть какие-нибудь плагины для konsole, чтоб скопированный текст, который содержит конец строки, не выполнялся?

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

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

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

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

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

запили, но не удаляющий, а добавляющий \ перед концом строк

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

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

Да, можно через действия klipper это реализовать. Кстати, если мне не изменяет память, в каком-то менеджере буфера обмена есть опция удаления завершающих концов строк.

AX ★★★★★
()
Ответ на: Проблема не в браузерах от firestarter

Тут правда фиксить нужно не браузеры, a терминалы, чтобы при вставке переводы строк удалялись.

Не нужно.

Например, бывает, когда быстрее скопипастить скрипт из одного терминала в другой мышей. В первом делаешь:

$ cat script.sh 
#!/bin/bash

echo "Hello, World";

Выделяешь, копируешь вывод.

Во втором:

$ cat > new_script.sh << EOFILE
> #!/bin/bash
> 
> echo "Hello, World";
> EOFILE
Ну и просто в текстовые редакторы иногда надо текст вставить.

Фиксить тут надо мозги тем, кто привык пошаговые инструкции необдуманно копировать в терминал.

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

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

А ты, стало быть, предлагаешь руками перебивать комманды?

Как мило, софтверные проблемы безопасности предлагается решають не в софте, а силами пользователей. Все помнят байку про windows NT/2000 на итаниуме и «в это поле ноль не вводить»?

true_admin ★★★★★
()
Ответ на: Проблема не в браузерах от firestarter

Меня всё время раздражало когда копируешь строку, а туда случайно попадает и перевод строки

бешено плюсую, у самого только что возникла идея написать им FR

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

А ты, стало быть, предлагаешь руками перебивать комманды?

Да, руками с автокомплитом, после чтения мана и понимаем того, что делаешь. Если человек тупо копипастит команды из браузера - не важно, будет там rm -rf /* скрыто или же вставлено в середину команды.

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

А разве нормальные люди копипастят всё подряд в рутовый терминал?

Да что же за олдшколологика. Тебе будет что более жалко, ОС, которую из бекапа накатить 5-10 минут, или личные данные?

P.S.:Перенос строки научил меня все команды копировать сначала в редактор, а потом уже в терминал. Как знал.

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

Тебе будет что более жалко, ОС, которую из бекапа накатить 5-10 минут, или личные данные?

Причём здесь ОС? Ну будет там не rm -rf /*, а rm -rf /home/$(whoami)/*. Какая разница? Суть в том, что в принципе не нормально копипастить команды из брозёра в терминал.

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

не важно, будет там rm -rf /* скрыто или же вставлено в середину команды.

Ты не понял или не хочешь понять сути проблемы. В данном случае проблема не в том что люди комманды не читают. Проблема в том что то что ты видешь на экране отличается от того что попадает в буфер обмена. У тебя даже не будет шанса отредактировать комманду в консоле перед нажатием энтера.

Не надо тут страдать идиотизмом и кидаться громкими фразами про дураков и идиотов. Это всего лишь удобный повод игнорировать проблему и в очередной раз понты кинуть «какой я умный».

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

А теперь ещё раз перечитай мой ответ. :)

А разве нормальные люди копипастят всё подряд в рутовый терминал?

А зачем, если ты свои не читаешь.

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

Проблема в том что то что ты видешь на экране отличается от того что попадает в буфер обмена.

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

Ты не понял или не хочешь понять сути проблемы.

Невозможно все человеческие глупости предусмотреть технически. Если человек тащит в систему скрипты, не понимая, что в них, копирует неизвестные команды и следует инструкциям, не вникая в их суть, то он надёт ещё тысячу способов угробить свою систему или потерять данные. Почему из-за этого должны страдать нормальные пользователи, теряя функциональность терминала, я не понимаю, да.

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

Ну будет там не rm -rf /*, а rm -rf /home/$(whoami)/*. Какая разница?

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

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