The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Возможность обхода ограничений Open_Basedir в PHP

05.10.2006 15:49

В PHP4 и PHP5 обнаружена новая проблема безопасности, дающая возможность злоумышленнику получить доступ ко всей файловой системе несмотря на ограничения Open_Basedir.

В качестве временного решения достаточно запретить использование функции symlink() через disable_functions в php.ini.

  1. Главная ссылка к новости (http://secunia.com/advisories/...)
  2. securityfocus.com: PHP Symbolic Link Open_Basedir Bypass Vulnerability
  3. php - open_basedir Race Condition Vulnerability
  4. ecunia.com: PHP "open_basedir" Symlink Security Bypass Vulnerability
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/8466-php
Ключевые слова: php, security
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (22) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Dyr (??), 16:49, 05/10/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    За..ли PHP'цы со своими многочисленными дырками. Это помимо всего прочего.
     
     
  • 2.10, BOLK (?), 13:39, 06/10/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Почему вас это беспокоит?
     

  • 1.2, si (?), 16:54, 05/10/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    кстати в mod_perl нету даже такого хоить и кривого решения
     
     
  • 2.4, Userr (?), 18:39, 05/10/2006 [^] [^^] [^^^] [ответить]  
  • +/
    к счастью
     

  • 1.3, hellbot (?), 18:26, 05/10/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Да что же все так не любят php ?
    Забыли добавить что подвержены данной проблеме только Nix системы, потому как Windows - слишком ущербная для этого. И если хотя бы одна из платформ не подвержена, значит проблема не языка ?
     
     
  • 2.5, smb (?), 20:08, 05/10/2006 [^] [^^] [^^^] [ответить]  
  • +/
    А что, господин рассматривает windows как платформу для организации web-сервера с PHP?Удачи...
     
     
  • 3.9, Квагга (?), 13:36, 06/10/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Для разработки - да. 99% известных мне разработчиков сидят на XP. WAMP.
    И Cygwin X.
     
     
  • 4.11, snov (??), 18:37, 06/10/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Какие проблемы с безопасностью на хосте разработчика? :)
     
  • 3.13, hellbot (?), 21:34, 06/10/2006 [^] [^^] [^^^] [ответить]  
  • +/
    С тех самых пор, как специфическая возможность ОС стала ошибкой языка, хотя решать вопросы безопастности должен вебсервер который для всех платформ един.

    А пока сплошные заплатки и костыли.

     
  • 2.6, koder (?), 22:29, 05/10/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Т.к. DOS точно не подвержена то авторитетно заявляю что ето проблема к ПыхПых'у никакого отношения не имеет :)
     
  • 2.8, FSA (??), 13:20, 06/10/2006 [^] [^^] [^^^] [ответить]  
  • +/
    И кто ж вам сказал, что open_basedir при работе в Windows не используется???
     
     
  • 3.12, hellbot (?), 21:33, 06/10/2006 [^] [^^] [^^^] [ответить]  
  • +/
    а кто сказал что в windows есть symlink ?
     

  • 1.7, Аноним (-), 10:38, 06/10/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Никто не использовал Resin под это дело? Он вроде РНР может интерпретировать, но как он в плане скорости?
     
  • 1.14, ping (??), 12:54, 09/10/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    юзайте яву она ява.
     
  • 1.15, Анонимоус (?), 23:02, 09/10/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Для разработки - да. 99% известных мне разработчиков сидят на XP. WAMP
    Так уж и 99?

    > юзайте яву она ява.
    ...тормозна, глюкава и тоже дырява :)

     
  • 1.16, Amazonka (??), 11:18, 10/10/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Подскажите, как правильно прописать в php.ini?
    disable_functions = symlink()
    на такое ругается.
     
     
  • 2.17, ping (??), 11:45, 10/10/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >Подскажите, как правильно прописать в php.ini?
    >disable_functions = symlink()
    >на такое ругается.


    скобки убери

     
     
  • 3.18, Amazonka (ok), 11:49, 10/10/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >>Подскажите, как правильно прописать в php.ini?
    >>disable_functions = symlink()
    >>на такое ругается.
    >
    >
    >скобки убери
    убрала, та же фигня, ругается еще больше.
    попробовала вариант:

    disable_functions =
    symlink = Off
    Ошибок на это не выдает, но будет ли так правильно?

     
     
  • 4.19, ping (??), 12:53, 10/10/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >>>Подскажите, как правильно прописать в php.ini?
    >>>disable_functions = symlink()
    >>>на такое ругается.
    >>
    >>
    >>скобки убери
    >убрала, та же фигня, ругается еще больше.
    >попробовала вариант:
    >
    >disable_functions =
    >symlink = Off
    >Ошибок на это не выдает, но будет ли так правильно?

    не знаю.
    запихай это в symlink.php и проверь.

    <?php
    $res=symlink ( "symlink.php", "link.php" );

    if ($res)
    {
    echo "symlinks are enabled";
    }
    else
    {
    echo "symlinks are not enabled";
    }
    ?>

     
     
  • 5.20, Amazonka (ok), 11:07, 11/10/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >не знаю.
    >запихай это в symlink.php и проверь.
    >
    ><?php
    >$res=symlink ( "symlink.php", "link.php" );
    >
    >if ($res)
    >{
    > echo "symlinks are enabled";
    >}
    >else
    >{
    > echo "symlinks are not enabled";
    >}
    >?>
    Правильным оказался вариант:
    disable_functions = symlink
    Но как то интересно он заработал, после 3 перезагрузки понял конфиг, стал работать и перестал писать ошибки. PHP что уже как винда работает, 5 раз перезагрузись и все будет Ok? Странно как то.....


     
     
  • 6.21, ping (??), 11:20, 11/10/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >>не знаю.
    >>запихай это в symlink.php и проверь.
    >>
    >><?php
    >>$res=symlink ( "symlink.php", "link.php" );
    >>
    >>if ($res)
    >>{
    >> echo "symlinks are enabled";
    >>}
    >>else
    >>{
    >> echo "symlinks are not enabled";
    >>}
    >>?>
    >Правильным оказался вариант:
    >disable_functions = symlink
    >Но как то интересно он заработал, после 3 перезагрузки понял конфиг, стал
    >работать и перестал писать ошибки. PHP что уже как винда работает,
    >5 раз перезагрузись и все будет Ok? Странно как то.....


    так я же говорил, что скобки убери :-)
    в каком виде у тебя работает пхп в с веб-сервером? php-cgi или mod_php?
    и каким образом "рестартила пхп" ?
    у меня изменения в php.ini вступают в силу после рестарта апача(пхп скомпилен модулем), и достаточно одного раза рестартнуть.
    ось: freebsd 6.2PR.
    а таких проблем как у тебя не было.

     
     
  • 7.22, Amazonka (ok), 12:54, 11/10/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >так я же говорил, что скобки убери :-)
    >в каком виде у тебя работает пхп в с веб-сервером? php-cgi или
    >mod_php?
    У меня через mod_php работает.
    >и каким образом "рестартила пхп" ?
    >у меня изменения в php.ini вступают в силу после рестарта апача(пхп скомпилен
    >модулем), и достаточно одного раза рестартнуть.
    Аналогично и у меня. Рестартила апач, после 3 рестарта перестал писать ошибки в логах, и сайт заработал как положено. Раньше тоже достаточно было один раз рестартануть, почему и удивляюсь :).
    >ось: freebsd 6.2PR.
    >а таких проблем как у тебя не было.
    slackware 10, у меня таких непоняток тоже раньше не возникало.

     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру