Общие > Веб Сервера

exec, system и др. системные команды - Linux и php

(1/2) > >>

alex007:
Привет,

Почему большинство хостов боятся оставлять эти функции включеными?

Разве нанесет какойнубуть ущерб следующий скрипт (пример с http://www.chipmunk-scripts.com/tutorials/exec.php):

<?php
//code for actual ping
if(isset($_POST[\'submit\'])) 
//if submit has been pressed
{
 $address=$_POST[\'address\'];
 //above is a security measure to make sure it pings the typed address
 exec("ping -c 5 $address",$results);
 //the actual ping execution command
 //output thrown in $results
 $count=count($results);
 //counts number of rows $in results array
 for($i=0;$i<$count;$i++)
 {
   print "$results[$i]
";
 }
}
 //the loops print out all results of $results  //line by line >

Ну пропингует скрипт ну и что?

Хорошая статья на http://www.onlamp.com/pub/a/php/2003/08/28/php_foundations.html мне тоже не фига не дала.

Что еще можно такое учидить что хостов боятся оставлять эти функции включеными?

Жду Ответов.

alm:
В случае если PHP подключен как модуль к Apache, а так чаще всего и бывает, то все команды в exec, system и иже с ними будут выполнять с правами одного и того же системного пользователя (тот от которого запущен апач). А значит все что может прочитать PHP сможете и вы с помощью system.

Вы спросите, а как же fopen и т.д.
Работа с файлами ограничивается директивой open_basedir /home/user (в конфиге для сайта) и эти функции не смогут открыть файлы выше чем им позволено. System же так прокотролировать нельзя, поэтому его просто выключают.

В конкретно вашем случае пинг не опасен, но бывают вещи и пострашнее пинга.

P.S. Надо хостится там где ты будешь иметь root и как следствие сам сможешь это все контролировать (смотри подпись :) ).

ThE0ReTiC:

--- Цитировать ---alm:
с правами одного и того же системного пользователя (тот от которого запущен апач). А значит все что может прочитать PHP сможете и вы с помощью system.
--- Конец цитаты ---

ух ты - а я всегда думал что все вменяемыек люди запускают под непривелигированным пользователем...

--- Цитировать ---alm:
Надо хостится там где ты будешь иметь root
--- Конец цитаты ---

Совершенно необязательно.
рутшел в неумелых руках хуже скипидара.

alm:

--- Цитировать ---ThE0ReTiC:
ух ты - а я всегда думал что все вменяемыек люди запускают под непривелигированным пользователем...
--- Конец цитаты ---


А я где-то сказал, что этот пользователь привелигированный?

Суть в том, что этот пользователь должен мочь читать все php-скрипты на всех сайтах, ибо иначе он их не сможет исполнять. А в скриптах чужих сайтах может быть много чего интересного, например пароли к MySQL ("ну и то сё, пято, десято" - как говорил осёл в Шреке).

И тогда поймав вывод \'cat /путь/к чужому/файлу\' выполенный из под непривелигированного пользователя имем дыру.


--- Цитировать ---ThE0ReTiC:рутшел в неумелых руках хуже скипидара
--- Конец цитаты ---


не знаю скипидар не пробовал (не внутрь не наружно) :),

но имею огромный опыт в области хостинга VDSов. Поверь мне очень много клиентов покупают, не знающих что такое шелл вообще (покупаясь на неограниченность сайтов, пользователей, баз и т.д.). А потом глядишь человек начинает просвещаться, рысеет просто на глазах, начинает вопросы умные вопросить.

А утопиться можно и в тарелке для супа (долго ли умеючи :)).

alex007:
Честно говоря у меня не много другое мнение по теме (можете исправить если не так), типа что все скрипты на черваке запускаются guest пользователем (посетитель веб сайта), но системные все команды запускаются через Apache wwwrun пользователем, всё что происходило на серваке можно отследить (имею ввиду пользователей), но когда система сама система делает не кого здесь венить...


--- Цитировать ---Надо хостится там где ты будешь иметь root
--- Конец цитаты ---

Это только в твоих мечтах, не один провайдер не даст тебе такого право на shared hosting, когда конечно Dedicated Server то это конечно другое дело так как я хозяин я и барин и конечно несу ответственность за полностью сервак.

Обычно на shared hosting дают пользовательские права, для доступа в ftp, MySql и майл системе(что бы добавить или удалить ящики)

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии