PHP Shell или Shell PHP — это программа/скрипт, написанный на PHP (Php Hypertext Preprocessor), который предоставляет доступ к Linux Terminal-у (Shell — гораздо более широкое понятие) из браузера. PHP Shell позволяет выполнять большинство команд оболочки в браузере, но не все из-за некоторых ограничений.
Обновление: недавно мы нашли очень многообещающий инструмент под названием «Wetty (Web + tty)», который обеспечивает полный доступ к терминалу Linux по протоколу HTTP или HTTPS и позволяет выполнять все команды и программы Linux, как если бы вы сидели перед реальным или виртуальным терминалом.
PHP Shell очень полезен при выполнении команд Shell на удаленном веб-сервере, аналогично Telnet и SSH. Это может быть полезно при перемещении, распаковке и обработке больших файлов на веб-сервере. Администрирование и обслуживание веб-сервера с использованием PHP Shell намного проще, если пользователь имеет практические знания программных оболочек.
Раз уже были придуманы Telnet и SSH, зачем нужен phpshell? Именно этот вопрос, может первым прийти вам в голову. Ответ таков: во многих случаях брандмауэр настолько ограничен, что ничего, кроме HTTP(S), не пропускает, в этом случае phpshell позволяет получить доступ к оболочке на удаленном сервере.
Однако вы не сможете выполнить программу с графическим интерфейсом пользователя или интерактивный скрипт/программу с использованием PHP Shell. Это может быть ограничением, но это ограничение в свою очередь также является благом, так как отключение графического интерфейса означает более высокий уровень безопасности.
Установка PHP Shell
Последнюю версию можно скачать здесь:
http://sourceforge.net/projects/phpshell/?source=dlp
Как установить PHP Shell?
Как указано выше, PHP Shell написан на PHP, поэтому вам не нужно его устанавливать, просто переместите заархивированный файл в рабочий каталог apache/httpd, и, конечно, у вас должны быть установлены Apache и PHP.
Установка Apache и PHP
Установка Apache и PHP в системах на основе Debian с помощью команды apt-get:
Установка Apache и PHP в системах на базе Red Hat с помощью команды yum:
По умолчанию рабочий каталог apache/http:
- на основе дистрибутива Debian — /var/www
- на основе дистрибутива Red Hat — /var/www/html
Примечание. Рабочий каталог можно изменить на любую другую папку, и это обязательно рекомендуется выполнить в качестве меры безопасности.
Переместите загруженный архивный файл PHP Shell в рабочий каталог Apache. Здесь мы используем систему Debian, поэтому мой рабочий каталог Apache выглядит следующим образом:
Распаковка PHP-оболочки
Удаление заархивированного файла
Переименуйте папку оболочки php, в качестве меры безопасности. Например, мы переходим в папку phpshell (теперь sedicomm-nix) и переименовываем phpshell.php в index.php, чтобы вы были перенаправлены непосредственно на страницу индекса, а не на содержимое папки:
Хорошо, пришло время открыть ваш веб-браузер и перейти к «http://127.0.0.1/sedicomm-nix«:
По умолчанию имя пользователя и пароль не работают, поэтому вам нужно добавить имя пользователя и пароль вручную.
Чтобы создать имя пользователя и пароль, вызовите скрипт pwhash.php, уже находящийся в папке phpshell, с помощью «http://127.0.0.1/sedicomm-nix/pwhash.php«:
Введите имя пользователя и пароль на указанной выше странице php и нажмите «Обновить»:
Как указано в разделе «Result», вам необходимо добавить строку sha, скопировав и вставив её в файл config.php в разделе [user]:
Откройте файл config.php, используя любой редактор:
Добавьте строку:
Как и в [user section], очевидно, что ваш sha1 будет уникальным в зависимости от вашего имени пользователя и пароля:
Сохраните файл config.php с текущими изменениями и выйдите из него.
Теперь пришло время войти в phpshell. Посетите http://127.0.0.1/sedicomm-nix. Войдите в систему, используя свои «Имя пользователя» и «Пароль»:
Вы успешно вошли в свой phpshell. Теперь вы можете выполнять большинство программ оболочки так же просто, как если бы вы выполняли эти команды и сценарии в своей собственной системе.
Определим «узкие места» PHP Shell
- Не поддерживается дополнительный ввод, т.е. после запуска программы интерактивный скрипт использовать нельзя.
- Весь веб-сервер настроен на тайм-аут в определенный период времени, скажем, 30 секунд. Это ограничение касается веб-сервера/Apache, а не phpshell.
- Каждая команда в phpshell должна быть прописана строго одной строкой. Phpshell не понимает как многострочные команды команды так и команды в циклах.
Помните, что очень важно иметь защищенную паролем PHP Shell, иначе каждый сможет отследить ваши файлы и, возможно, сможет удалить их! Пожалуйста, найдите время, чтобы защитить ваш PHP Shell.
Это все на данный момент. Наслаждайтесь!
Спасибо за уделенное время на прочтение статьи!
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet (программируемые сети) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
1 комментарий. Оставить новый
есть еще такой интересный вариант:
sudo apt install openssl shellinabox
sudo shellinaboxd —disable-ssl —port 4222
http://ip_address:4222