Поиск по сайту:

Удаленное изучение оболочки Linux (терминал) с помощью PHP Shell


PHP Shell или Shell PHP — это программа или сценарий, написанный на PHP (препроцессор гипертекста PHP), который предоставляет >Терминал Linux (Shell — гораздо более широкое понятие) в браузере. PHP Shell позволяет выполнять большинство команд оболочки в браузере, но не все из-за своих ограничений.

Обновление. Недавно я нашел очень многообещающий инструмент под названием «Wetty (Web + tty)», который обеспечивает полный доступ к терминалу Linux. по протоколу HTTP или HTTPS и позволяет вам выполнять все команды и программы Linux, как если бы вы сидели перед реальным или виртуальным терминалом.

Для получения дополнительной информации об установке и использовании Wetty посетите: Как установить Wetty для доступа к терминалу Linux через веб-браузер.

PHP Shell очень полезен при выполнении команд Shell на удаленном веб-сервере, аналогично Telnet и SSH. Это может быть полезно при перемещении, распаковке и обработке больших или объемных файлов на веб-сервере. Администрирование и обслуживание веб-сервера с использованием PHP Shell намного проще, если пользователь имеет практические навыки работы с программами Shell.

Когда уже существовали Telnet и SSH, зачем вам нужен phpshell? Это вопрос, который может прийти вам на ум. Ответ таков: во многих случаях брандмауэр настолько ограничителен, что ничего, кроме HTTP(S), не проходит, в этом случае phpshell позволяет вам получить доступ к оболочке на удаленном сервере.

Однако вы не можете выполнить программу с GUI или интерактивный скрипт/программу с помощью PHP Shell. Это может быть ограничением, но это ограничение является благом, поскольку отключение графического интерфейса означает более высокий уровень безопасности.

Скачать PHP-оболочку

Последнюю версию можно скачать отсюда:

  1. http://sourceforge.net/projects/phpshell/?source=dlp

Как установить PHP-оболочку

Как указано выше, PHP Shell написан на PHP, поэтому вам не нужно его устанавливать, просто переместите заархивированный файл на свой рабочий apache/. httpd и, конечно же, у вас должны быть установлены Apache и PHP.

Установите Apache и PHP

Установите в системах на базе Debian с помощью команды apt-get.

apt-get install apache2 
apt-get install php5 libapache2-mod-auth-mysql php5-mysql
service apache2 start

Установите в системах на базе Red Hat с помощью команды yum.

yum install httpd 
yum install php php-mysql
service httpd start

По умолчанию рабочий каталог apache/http:

в дистрибутиве на базе Debian /var/www

в дистрибутиве на базе Red Hat /var/www/html

Примечание. Ее можно изменить на любую другую папку. Это рекомендуется в качестве меры безопасности.

Переместите загруженный архивный файл PHP Shell в рабочий каталог Apache. Здесь я использую систему Debian, поэтому мой рабочий каталог Apache.

mv phpshell-2.4.tar.gz /var/www/

Разархивируйте php-оболочку

tar -zxvf phpshell-2.4.tar.gz

Удалите сжатый файл.

rm -rf phpshell-2.4.tar.gz

В целях безопасности переименуйте папку оболочки php во что-нибудь трудно угаданное. Например, я перехожу в папку phpshell (теперь tecmint-nix) и переименовываю phpshell.php в index.php . , чтобы вы были перенаправлены непосредственно на индексную страницу, а не на содержимое папки.

mv phpshell-2.4 tecmint-nix 
cd tecmint-nix/
mv phpshell.php index.php

Отлично, пришло время открыть веб-браузер и перейти по адресу «http://127.0.0.1/tecmint-nix».

По умолчанию ни имя пользователя, ни пароль не работают, поэтому вам необходимо добавить имя пользователя и пароль вручную.

Чтобы создать имя пользователя и пароль, вызовите сценарий pwhash.php, который уже находится в папке phpshell, например «http://127.0.0.1/tecmint-nix/pwhash.php».

Введите имя пользователя и пароль на приведенной выше странице PHP и нажмите «Обновить».

Как указано в разделе «Результат», вам необходимо добавить строку sha, скопировав и вставив ее в config.php в [user] раздел.

Откройте файл config.php в своем любимом редакторе.

nano config.php

Добавьте строку.

tecmint = "sha1:673a19a5:7e4b922b64a6321716370dad1fed192cdb661170"

Как и в разделе [пользователь], очевидно, что ваш sha1 будет уникальным на основе вашего имени пользователя и пароля. .

Сохраните файл config.php с текущими изменениями и выйдите из него.

Теперь пришло время войти. Посетите http://127.0.0.1/tecmint-nix. Войдите, используя свои «Имя пользователя» и «Пароль».

Да, вы успешно вошли в свой phpshell. Теперь вы можете выполнять большую часть программ оболочки так же гладко, как если бы вы запускали эти команды и сценарии в своей собственной системе.

Некоторые узкие места PHP Shell

  1. Дополнительный ввод не поддерживается, т. е. после запуска программы интерактивный сценарий использовать невозможно.
  2. Все веб-серверы настроены на тайм-аут в определенный период времени, скажем, 30 секунд. Это ограничение касается веб-сервера/Apache, а не phpshell.
  3. Каждая команда в phpshell должна состоять строго из одной строки. Phpshell не понимает команду продолжения или многострочную команду, например, в циклах.

Помните, что очень важно иметь PHP Shell защищенным паролем, иначе каждый сможет проникнуть в ваши файлы и, возможно, также сможет удалить их! Пожалуйста, потратьте время на защиту вашей установки PHP Shell.

Цель этой статьи — познакомить вас с более широким аспектом и реализацией оболочки в более наглядной форме.

На данный момент это все, от меня. Скоро я снова буду здесь с еще одной интересной темой, которую вам понравится читать. А до тех пор следите за обновлениями и подключайтесь к tecmint. Наслаждайтесь!