Опасное поведение sendmail?

705
user50328

Что тут происходит??

sendmail cat/etc/passwd sendmail cat\etc\passwd sendmail xxxcat/etc/passwd 

Почему в мире это фактически выполняет команду cat? Это работает, по крайней мере, в Fedora Core 4 O / S (да, оно старое, но все же ...) с Postfix.

Это известная (и исправленная) ошибка?

0

1 ответ на вопрос

3
grawity

Я протестировал Postfix 2.7.1-1 (Debian), и ни одна из них не работает так, как вы описали. catне выполняется. (И, честно говоря, я не могу представить никакой возможной причины, почему бы sendmailвыполнить произвольную часть своего аргумента только потому, что он произнес « cat».)

Конечно, если вы процесс, вы можете увидеть файл будучи под ред, но это совершенно нормально: запрашиваете реальное имя вашей учетной записи, для того, чтобы заполнить правильно заголовок.stracesendmail/etc/passwdopen()sendmailFrom:

Но straceне показывает никаких звонков exec*(), кроме того, который запускает sendmailсам.


Если вы все еще верите, что это ошибка,

  • вместо этого попробуйте совершенно не связанный файл:

    sendmail cat/etc/fstab 

    Вот fstabто, что обычно никогда не будет прочитано.

  • убедитесь, что sendmailэто не псевдоним или функция оболочки:

    $ type sendmail sendmail is /usr/sbin/sendmail 
  • И обновить Postfix.

    (да, он старый, но все же ...)

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

Большое спасибо за ответ. Оказывается, в моем тестировании на эксплойты в другом программном пакете я случайно получил другой пакет, чтобы фактически переместить файл passwd в (перезаписывая) двоичный файл sendmail. Поэтому теперь, когда я запускаю бинарный файл sendmail, он просто пытается выполнить копию файла / etc / passwd. Так что это было небольшое недоразумение с моей стороны. Мои извинения, и спасибо за очень хороший и полезный ответ. user50328 14 лет назад 0

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