ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   *nix (https://forum.antichat.xyz/forumdisplay.php?f=43)
-   -   Возможные уязвимости хостеров. Apache. (https://forum.antichat.xyz/showthread.php?t=7348)

nerezus 24.06.2005 16:26

не =)

safe_mode к апачу не относится, это фича пхп

Код:

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


Краткое разъяснение конфигурационных директив.

safe_mode
Включает/отключает защищенный режим в PHP.
По умолчанию в защищенном режиме при открытии файла выполняется проверка значения UID. Для того, чтобы немного смягчить это условие и выполнять проверку GID, необходимо установить значение on для флага safe_mode_gid. Определяет, использовать или нет проверку UID (FALSE) или GID (TRUE) проверку при обращении к файлу.


safe_mode_include_dir
При подключении файлов, расположенных в указанной директории и всех ее подкаталогах, проверка на соответствие значений UID/GID не выполняется (В случае, если установленная директория не указана в include_path, необходимо указывать полный путь при включении).
Начиная с PHP 4.2.0 значением этой директивы может быть список каталогов, разделенных двоеточием (точкой с запятой на windows-системах), что аналогично синтаксису include_path.
Указанное значение в действительности является префиксом, а не названием директории. Это означает, что запись "safe_mode_include_dir = /dir/incl" позволяет подключать файлы, находящиеся в директориях "/dir/include" и "/dir/incls", в случае, если они существуют. Если вы хотите указать доступ к конкретной директории, используйте завершающий слеш, например: "safe_mode_include_dir = /dir/incl/".


safe_mode_exec_dir
В случае, когда PHP работает в защищенном режиме, system() и другие функции для выполнения системных команд и программ отклоняют выполнение программ, находящихся вне данной директории.


safe_mode_allowed_env_vars
Возможность устанавливать переменные окружения - потенциальная брешь в безопасности. Значением этой директивы является список префиксов, разделенных двоеточиями. В защищенном режиме пользователь может модифицировать только те переменные окружения, имена которых начинаются с одного из указанных префиксов. По умолчанию, пользователю доступны переменные, которые начинаются с префикса PHP_ (например, PHP_FOO=BAR).
Замечание: В случае, если этой директиве указать пустое значение, пользователь получит возможность модифицировать любую переменную окружения!


safe_mode_protected_env_vars
Эта директива содержит список переменных окружения, разделенных двоеточием, значение которых пользователь не сможет изменить, используя функцию putenv(). Значения этих переменных остаются защищенными, даже если их модификация разрешена директивой safe_mode_allowed_env_vars.


open_basedir
Ограничивает список файлов, которые могут быть открыты в PHP, указанным деревом директорий независимо от того, используется защищенный режим или нет.
Каждый раз, когда скрипт пытается открыть файл, например, при помощи функции fopen() или gzopen(), проверяется месторасположение файла. В случае, если он находится вне указанного дерева директорий, PHP отказывает в открытия файла. Все символические ссылки распознаются и преобразуются, поэтому обойти это ограничение при помощи символических ссылок невозможно.
Специальное значение . указывает, что базовой следует считать директорию, в которой расположен сам скрипт. В этом случае следует быть осторожным, так как рабочую директорию скрипта можно легко изменить при помощи функции chdir().
Опция open_basedir может быть отключена в конфигурационном файле httpd.conf (например, для некоторых виртуальных хостов) точно таким же образом как и любая другая директива: "php_admin_value open_basedir none".
Для Windows-систем разделителем списка директорий служит точка с запятой. Для всех других операционных систем в качестве разделителя используется двоеточие. В случае, если PHP работает как модуль веб-сервера Apache, все указания open_basedir для родительских директорий наследуются.
Указанное значение в действительности является префиксом, а не названием директории. Это означает, что запись "safe_mode_include_dir = /dir/incl" позволяет открывать файлы, находящиеся в директориях "/dir/include" и "/dir/incls", в случае, если они существуют. Если вы хотите указать доступ к конкретной директории, используйте завершающий слеш, например: "safe_mode_include_dir = /dir/incl/".
По умолчанию разрешен доступ ко всем файлам.


disable_functions
Эта директива позволяет вам запретить некоторые функции из соображений безопасности. В качестве значения она принимает список функций, разделенных двоеточием. disable_functions не зависит от того, используется Защищенный режим или нет.


disable_classes
Эта директива позволяет вам запретить некоторые классы из соображений безопасности. В качестве значения она принимает список класов, разделенных двоеточием. disable_classes не зависит от того, используется Защищенный режим или нет.


qBiN 24.06.2005 17:18

Цитата:

Сообщение от Егорыч+++
Есть хостер masterhost. По умолчанию все клиенты у него находятся в php - Safemode. И в тоже время ими же предлагается "Если вам это не нравится можете поставить свой Php". Делается там это довольно просто. И естественно PHP будет работать без Safemode. В чем тогда смысл этого сейф моде я не лично вообще не понимаю.

Вот смотри,мне не нужно выключение сейф мода,естественно дабы не нажить геморой я не буду "ставить свой Php" в итоге-кому нужно отключения сейф моде те его сделают,а кому не нужно-те усложняют жизнь хакерам,а себе нисколько..
Цитата:

Кстати есть один прикол я так
Я прикола не вижу...

qBiN 24.06.2005 17:20

Цитата:

Сообщение от nerezus
system() при SafeMode не работает :) :)

Если не ошибаюсь то можно использовать passthru...Или я ошибаюсь???

nerezus 24.06.2005 17:28

qBiN, ошибаешься

Егорыч+++ 24.06.2005 17:33

Да я знаю, что safe_mode относится к php. Я просто подумал что параметры прописанные в httpd.conf каким то образом будут перекрывать параметры своего php.

Да и сейф моде усложняет не жизнь хакерам, а пользователям. В любом случае наличие политики отключения safe_mode ничего в безопасность сервера , да и клиента не вносит

kir0k 24.07.2005 17:07

Хочется ещё добавить, что потенциальной уязвимостью многих хостеров является
значение allow_url_fopen, выставленное в on в настройках PHP, что делает возможным удалённый php-Инклюдинг при наличии бажного скрипта.


Время: 06:33