URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 5267
[ Назад ]

Исходное сообщение
"PHP и команда SU"

Отправлено Bob_kik , 27-Сен-07 23:23 
Доброй ночи.

Решил немного поиграться и набрал в редакторе вот такое:

<?
if ( isset($_POST['conf']) ) $conf = $_POST['conf'];
echo "<html><body bgcolor=black text=white>";
echo "Loading configuratuin #" . $conf . "

";

$command1 = "su - root";
$command2 = "squid -k reconfigure -f /usr/local/etc/squid/squid.conf." . $ip;
exec( $commnad1, $mesg1 );
exec( $command2, $mesg2 );

$i = 0;
while ( $i < count($mesg2)) :
print "
$mesg2[$i]";
$i++;
endwhile;

echo str_replace ( "\n", "
", $mesg2 );
echo "</body></html>"
?>

Смысл этого такой: сижу в инет-кафе за компом, ввожу в строке браузера определенный ЮРЛ, в загрузившейся страничке в меню выбираю определенный пункт и патаюсь выполнить там на серваке какую-то команду(в моем случае squid), которую может выполнять только пользователь root, соответсвенно перед этим выполняем su. И тут я остановился. Не получается одной командой shell-у передать логин и пароль. Кто подскажет как  быть, что делать? Или как на запрос shell-а передать пароль?

sudo использовать не хочу :)

Заранее благодарен.


Содержание

Сообщения в этом обсуждении
"PHP и команда SU"
Отправлено Lucf3r , 28-Сен-07 14:07 
>[оверквотинг удален]
>определенный ЮРЛ, в загрузившейся страничке в меню выбираю определенный пункт и
>патаюсь выполнить там на серваке какую-то команду(в моем случае squid), которую
>может выполнять только пользователь root, соответсвенно перед этим выполняем su. И
>тут я остановился. Не получается одной командой shell-у передать логин и
>пароль. Кто подскажет как  быть, что делать? Или как на
>запрос shell-а передать пароль?
>
>sudo использовать не хочу :)
>
>Заранее благодарен.

1. Я бы не рекомендовал из интернет-кафе залазить на свои страницы и выполнять какие-то действия из под рута. Черевато.
2. Есть же SSH...
3. SSH ключи и сессии также отлавливаются сниферами, которые могут стоять в клубе.
4. Сделать su из PHP нельзя, т.к. вывод читается с клавиатуры.
5. Легче написать демона под рутом tail'ящего какой-нибудь файл и исполняющего строки попадающие в файл из консоли. Писать команды в этот файл.
6. Установите suphp и сделайте PHP скрипт принадлежащий root'у. Переключение не потребуется.

Это очень не секьюрно и делать подобных вещей не стоит. Представьте что ваша страница проиндексируется в гугле и все читатели этого форума смогут найти ее по запросу "Loading configuratuin #", тем более что в слове "configuration" ошибка ;)


"PHP и команда SU"
Отправлено Bob_kik , 28-Сен-07 15:40 
Понятно что через SSH все это делается, но человек который будет этим пользоваться не знаком с SSH :)
Запрашивать страничку будет с локальной сети - за безопасность сильно переживать не нада.
Любой человек зайти не сможет - прикрою паролем.
Простите за ошибу, когда писал - спать хотелось :)