Ошибка Heartbleed, какие услуги OpenSSL уязвимы для утечки?

В любой версии Bash на любой системе, да . ~ как термин сам по себе определяется для расширения до:

Значение $HOME

, поэтому оно всегда будет таким же, как и любое другое значение $HOME в текущей оболочке. Есть несколько других тильдовых расширений, таких как ~пользователь для домашнего каталога пользователя, но одно нецитируемое ~ само по себе всегда будет расширяться до "$HOME".

Обратите внимание, что поведение из ~ и $HOME может быть различным в некоторых случаях: в частности, если $HOME содержит пробелы (или другие IFS символы), то $HOME (без кавычек) будет расширяться до нескольких слов, в то время как ~ всегда одно слово. ~ расширяется эквивалентно "$HOME" (цитируется).

В отношении вашего конкретного вопроса:

[[ $HOME == ~ ]]

всегда верно, поскольку [[ подавляет разделение слов. [[ ~ ~ == $HOME ] может и не быть, если HOME имеет в своем составе символы , совпадающие с , но [[ ~ ~ == "$HOME" ]] (т.е. цитируемый "$HOME") всегда истинен. Использование его в одинарных скобках может быть синтаксической ошибкой для значений HOME, содержащих пробелы или специальные символы. Для любой разумной конфигурации домашнего каталога ~ и "$HOME" одинаковы и сравниваются как равные.


Стефан Шазелас отметил в комментариях случай, когда ~ и $HOME дают разные значения: если вы снимаете HOME, то при использовании ~ Бэш вызовет getpwuid для считывания значения из базы данных паролей. Этот случай исключается вашим условием отсутствия изменения конфигурации $HOME, но я упомяну об этом здесь для полноты.

.

1
24.06.2014, 21:14
1 ответ

Очевидно, что службы HTTP/HTTPS уязвимы.

Только более поздние ;)

А как же SMTP, IMAP и POP?

Для почтовых серверов (и веб-серверов) существуют online и offline тесты. Если вы используете debian, есть вероятность, что ваше программное обеспечение было скомпилировано с версией openSSL < 1.0.1, когда начинается уязвимость, поэтому, если бинарный файл был скомпилирован статически (см. ниже), сначала проверьте его таким образом, если вы не хотите утруждать себя перестройкой.

SSH?

SSH не использует эту возможность, так что это не было затронуто.

Остерегайтесь, что в debian простой замены разделяемой библиотеки недостаточно, так как по какой-то причине некоторые штуковины сервера с включенной openSSL, кажется, были статически скомпонованы. Чтобы проверить, запустите ldd на бинаре. Если вы знаете, что приложение использует SSL/TLS и нет никакой ссылки ни на libssl, ни на libgnutls, то оно было скомпилировано. Если оно не пройдет один из сердечных тестов, все приложение должно быть скомпилировано заново.

.
3
27.01.2020, 23:28

Теги

Похожие вопросы