Explorant Linux Shell (Terminal) de forma remota mitjançant PHP Shell


PHP Shell o Shell PHP és un programa o script escrit en PHP (Php Hypertext Preprocessor) que proporciona Linux Terminal (Shell és un concepte molt més ampli) al navegador. PHP Shell us permet executar la majoria de les ordres de l'intèrpret d'ordres al navegador, però no totes a causa de les seves limitacions.

Actualització: Recentment, he trobat una eina molt prometedora anomenada Wetty (Web + tty), que proporciona un accés complet al terminal Linux mitjançant un protocol HTTP o HTTPS i us permet executar totes les ordres i programes de Linux com si estiguéssiu assegut. davant d'un terminal real o virtual.

Per obtenir més informació sobre la instal·lació i l'ús de Wetty, visiteu: Com instal·lar Wetty per accedir al terminal Linux a través del navegador web

PHP Shell és molt útil per executar ordres de Shell en un servidor web remot, similar a Telnet i SSH. Pot ser útil per moure, descomprimir i gestionar fitxers més grans o fitxers massius al servidor web. Administrar i mantenir un servidor web amb PHP Shell és molt més fàcil, sempre que l'usuari tingui coneixements pràctics dels programes Shell.

Quan ja hi havia Telnet i SSH, quina és la necessitat de phpshell, és una pregunta que pot venir a la vostra ment. La resposta és: en molts casos, el tallafoc és tan restrictiu que res, a part d'HTTP(S), passa, en aquest cas, phpshell us permet obtenir l'accés de l'intèrpret de seguretat en un servidor remot.

Tanmateix, no podeu executar un programa GUI o un script/programa interactiu amb PHP Shell, podria ser la seva limitació, però aquesta limitació és una avantatge, ja que la desactivació de la GUI significa una major seguretat.

Baixeu PHP Shell

La darrera versió es pot descarregar des d'aquí:

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

Com instal·lar PHP Shell

Com s'ha dit anteriorment, PHP Shell està escrit en PHP, de manera que no cal que l'instal·leu, només cal que moveu el fitxer arxivat al vostre directori apache/httpd de treball i, per descomptat, heu de tenir instal·lats Apache i PHP.

Instal·leu-lo en sistemes basats en Debian mitjançant l'ordre apt-get.

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

Instal·leu-lo en sistemes basats en Red Hat mitjançant l'ordre yum.

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

Per defecte, el directori de treball d'apache/http és:

a la distribució basada en Debian /var/www

a la distribució basada en Red Hat /var/www/html

Nota: es pot canviar a qualsevol altra carpeta i es recomana com a mesura de seguretat.

Mou el fitxer d'arxiu PHP Shell descarregat al directori de treball d'Apache. Aquí estic fent servir el sistema Debian, així que el meu directori de treball d'Apache és.

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

Descomprimiu l'shell php

# tar -zxvf phpshell-2.4.tar.gz

Elimina el fitxer comprimit.

# rm -rf phpshell-2.4.tar.gz

Canvieu el nom de la carpeta de l'intèrpret d'ordres php a qualsevol cosa difícil d'endevinar, com a mesura de seguretat. Per exemple, em passo a la carpeta phpshell (ara tecmint-nix) i canvio el nom de phpshell.php a index.php perquè se us redirigirà directament a la pàgina d'índex i no al contingut de la carpeta.

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

Bé, és hora d'obrir el navegador web i navegar a http://127.0.0.1/tecmint-nix.

De manera predeterminada, no funcionarà cap nom d'usuari ni contrasenya, per tant, cal afegir-hi el nom d'usuari i la contrasenya manualment.

Per crear un nom d'usuari i una contrasenya, truqueu a l'script pwhash.php ja a la carpeta phpshell com http://127.0.0.1/tecmint-nix/pwhash.php.

Introduïu el nom d'usuari i la contrasenya a la pàgina php anterior i feu clic a Actualitza.

Com s'indica a la secció Resultat, heu d'afegir la línia sha tal com copiant i enganxant a config.php a la secció [usuari].

Obriu el fitxer config.php amb el vostre editor preferit.

# nano config.php

Afegeix la línia.

tecmint = "sha1:673a19a5:7e4b922b64a6321716370dad1fed192cdb661170"

Tal com està a la [secció d'usuari], òbviament, el vostre sha1 serà únic en funció del vostre nom d'usuari i contrasenya.

Deseu el fitxer config.php amb els canvis actuals i sortiu-ne.

Ara és el moment d'iniciar sessió. Visiteu http://127.0.0.1/tecmint-nix. Inicieu sessió amb el vostre Nom d'usuari i Contrasenya.

Sí, heu iniciat sessió correctament al vostre phpshell. Ara podeu executar la majoria del programa de l'intèrpret d'ordres amb la mateixa facilitat com si estigués executant aquestes ordres i scripts al vostre propi sistema.

Alguns colls d'ampolla de PHP Shell

  1. No s'admet cap entrada addicional, és a dir, un cop s'inicia un programa, no es pot utilitzar cap script interactiu.
  2. Tot el servidor web està configurat per esgotar el temps d'espera en un període de temps determinat, per exemple, 30 segons. Aquesta limitació és del servidor web/Apache i no del phpshell.
  3. Cada comanda a phpshell ha de ser estrictament d'una línia. Phpshell no entén l'ordre de continuació o una ordre de diverses línies com en bucles.

Recordeu que és molt important tenir la contrasenya de PHP Shell protegida, o en cas contrari, tothom podrà mirar els vostres fitxers i potser també esborrar-los! Preneu-vos el temps per protegir la vostra instal·lació de PHP Shell.

Aquest article té com a objectiu fer-vos conscient de l'aspecte més ampli i la implementació de l'intèrpret d'ordres d'una manera molt lúcida.

Això és tot per ara, per part meva. Aviat tornaré a ser aquí amb un altre tema interessant que us encantarà llegir. Fins aleshores estigueu atents i connectats a tecmint. Gaudeix!