13

В связи с этим вопросом: https://serverfault.com/questions/534449

Как cat /dev/urandom делает некоторые терминальные эмуляторы ненадежными?

4 ответа4

20

В то время как есть обычные печатаемые символы ASCII, которые отправляются туда и обратно на терминале, есть также много непечатных символов, которые используются системой для связи с терминалом. Например, если программа отправляет символ 0x07 ("ASCII Bell symbol "), ваш терминал должен подать звуковой сигнал.

Другие специальные последовательности могут использоваться для изменения цвета отображаемого текста, направления, в котором он отображается, заголовка окна, размера окна и т.д., И многих других.

Когда ты

cat /dev/urandom

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

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

15

Фактически использование этой команды покажет, есть ли АНБ на вашем компьютере в данный момент:

strings < /dev/urandom | grep nsa -i

Если вы получаете какие-либо положительные результаты, это признак того, что они просматривают ваш компьютер. Это даже работает на машинах с воздушным зазором, и причина, по которой ваш удар иногда становится "вялым", заключается в контрмеры АНБ. Быть осторожен!

4

Некоторым случайным выводом будут экранирующие коды ANSI (http://en.wikipedia.org/wiki/ANSI_escape_code), которые могут делать такие забавные вещи, как скрытие курсора или выбор альтернативных шрифтов. Другой возможностью являются последовательности Юникода: случайный поток байтов не будет действительным UTF-8, и, вероятно, не все терминалы, поддерживающие Юникод, обрабатывают это изящно.

1

cat /dev/urandom предоставит вам поток случайных байтов в диапазоне от 0 до 255 , не все из этих значений являются допустимыми текстовыми символами. Поскольку окно терминала передавало недопустимые данные, оно никогда не ожидало, что оно может перевести приложение терминала в "сломанное" состояние.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .