Опытный подобный в соответствии с Ubuntu 9.10, в то время как это работало в Ubuntu 9.04.
Имел libmagic1
и libmagic-dev
установленный со следующим:
$ file --version
file-5.03
magic file from /etc/magic:/usr/share/misc/magic
/etc/magic
имеет только пару комментариев (в 9,10 и 9.04)
/usr/share/misc/magic
символьная ссылка на ../file/magic
Мне удалось решить проблему путем понижения файла и libmagic. Я установил эти версии от Бойкого:
Вещи, кажется, работают теперь, но я не знаю, вызовет ли это другие проблемы.
Я могу использовать "netcat-e" для запуска другого приложения, например, IMAP или pop3. разделите "#ifdef GAPING_SECURITY_HOLE", может содержать ошибку, которая позволяет Вам выполнять оболочку, которая является, почему это - ifdefed по умолчанию. ifdef переносящий критического по отношению к безопасности раздела.
из объявления первоначальной версии:
Обязательный удар поставщика: Если бы "nc" стал стандартной утилитой несколько лет назад, то коммерческие поставщики, вероятно, упаковали бы его корень setuid и с
-DGAPING_SECURITY_HOLE
включенный, но не зарегистрированный. Надеются, что netcat поможет людям в нахождении и фиксации дыр легкой задачи этого вида, которые продолжают появляться путем разрешения более легкого экспериментирования с "чистым металлом" сетевого уровня.
Не то, чтобы это делает что-либо более ясным...
Хотя у меня нет окончательного ответа, я считаю, что зияющая дыра в безопасности присутствует только в том случае, если в вашем nc
включено -e
и установлен корень setuid. (Так как nc
часто используется для привязки к портам, он может быть упакован setuid root, чтобы позволить всем пользователям привязывать к привилегированным портам ниже 1024.)
В этой ситуации, nc -e
выполнил бы -e
данный процесс от имени root - что означает, что он позволил бы любому пользователю запустить любой процесс от имени root. Уверен, вы поймёте, что это зияющая дыра в безопасности. Напротив, если вы запустите свой собственный процесс и используете каналы для подключения его к nc
, то этот процесс не будет запущен от имени root, если только у вас нет другого способа повысить его (например, доступ к sudo
).
Как отметил grawity, netcat оригинальное объявление о выпуске жаловалось, что
коммерческие поставщики, скорее всего, упаковали бы setuid root [netcat] и с
-DGAPING_SECURITY_HLE
включили, но не задокументировали.
Это придает вес моей теории, я думаю. :)
.