Ricerca nel sito web

Esplorazione della shell Linux (terminale) in remoto utilizzando PHP Shell


PHP Shell o Shell PHP è un programma o script scritto in PHP (Php Hypertext Preprocessor) che fornisce Terminale Linux (Shell è un concetto molto più ampio) nel browser. PHP Shell ti consente di eseguire la maggior parte dei comandi della shell nel browser, ma non tutti a causa delle sue limitazioni.

Aggiornamento: recentemente ho trovato uno strumento molto promettente chiamato 'Wetty (Web + tty)', che fornisce un accesso completo al terminale Linux su un protocollo HTTP o HTTPS e ti consente di eseguire tutti i comandi e i programmi Linux come se fossi seduto di fronte a un terminale reale o virtuale.

Per ulteriori informazioni sull'installazione e l'utilizzo di Wetty visita: Come installare Wetty per accedere al terminale Linux tramite browser web

PHP Shell è molto utile per eseguire comandi Shell su server Web remoti, simili a Telnet e SSH. Può essere utile per spostare, decomprimere e gestire file più grandi o file di massa sul server Web. Amministrare e mantenere un server web utilizzando PHP Shell è molto più semplice, a condizione che l'utente abbia una conoscenza pratica dei programmi Shell.

Quando esistevano già Telnet e SSH, qual è il bisogno di phpshell è una domanda che potrebbe venirti in mente. La risposta è: in molti casi, il firewall è così restrittivo che nulla, a parte HTTP(S), riesce a passare, in tal caso phpshell ti consente di ottenere l'accesso alla shell su un server remoto.

Tuttavia non è possibile eseguire un programma GUI o uno script/programma interattivo utilizzando PHP Shell. Potrebbe essere una limitazione, ma questa limitazione è un vantaggio, poiché la disabilitazione della GUI significa maggiore sicurezza.

Scarica PHP Shell

L'ultima versione può essere scaricata da qui:

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

Come installare PHP Shell

Come detto sopra, PHP Shell è scritto in PHP quindi non è necessario installarlo, basta spostare il file archiviato sul tuo apache/ funzionante directory httpd e ovviamente devi avere Apache e PHP installati.

Installa Apache e PHP

Installa su sistemi basati su Debian utilizzando il comando apt-get.

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

Installa su sistemi basati su Red Hat utilizzando il comando yum.

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

Per impostazione predefinita, la directory di lavoro di Apache/http è:

sulla distribuzione basata su Debian /var/www

sulla distribuzione basata su Red Hat /var/www/html

Nota: può essere modificata in qualsiasi altra cartella ed è consigliata come misura di sicurezza.

Sposta il file di archivio PHP Shell scaricato nella directory di lavoro di Apache. Qui sto usando il sistema Debian, quindi la mia directory di lavoro Apache è.

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

Decomprimere la shell php

tar -zxvf phpshell-2.4.tar.gz

Rimuovere il file compresso.

rm -rf phpshell-2.4.tar.gz

Rinominare la cartella della shell php con qualcosa di difficile da indovinare, come misura di sicurezza. Ad esempio, mi sposto nella cartella phpshell (ora tecmint-nix) e rinomino phpshell.php in index.php in modo da essere reindirizzato direttamente alla pagina dell'indice e non al contenuto della cartella.

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

Bene, è ora di aprire il browser Web e accedere a "http://127.0.0.1/tecmint-nix".

Per impostazione predefinita, nessun nome utente o password funzionerà, quindi è necessario aggiungere manualmente il nome utente e la password.

Per creare un nome utente e una password chiamare lo script pwhash.php già nella cartella phpshell come "http://127.0.0.1/tecmint-nix/pwhash.php".

Inserisci il nome utente e la password nella pagina php sopra e fai clic su "Aggiorna".

Come indicato nella sezione Risultati, devi aggiungere la linea sha così com'è copiando e incollando in config.php nel file [user] sezione.

Apri il file config.php utilizzando il tuo editor preferito.

nano config.php

Aggiungi la riga.

tecmint = "sha1:673a19a5:7e4b922b64a6321716370dad1fed192cdb661170"

Come nella [sezione utente], ovviamente il tuo sha1 sarà unico in base al tuo nome utente e password .

Salva il file config.php con le modifiche attuali ed esci.

Ora è il momento di accedere. Visita http://127.0.0.1/tecmint-nix. Accedi utilizzando il tuo "Nome utente" e "Password".

Sì, hai effettuato l'accesso con successo alla tua phpshell. Ora puoi eseguire la maggior parte dei programmi di shell con la stessa facilità con cui esegui quei comandi e script sul tuo sistema.

Alcuni colli di bottiglia di PHP Shell

  1. Non è supportato alcun input aggiuntivo, ovvero una volta avviato un programma non è possibile utilizzare nessuno script interattivo.
  2. Tutto il server web è configurato per il timeout dopo un determinato intervallo di tempo, ad esempio 30 secondi. Questa limitazione riguarda il server web/Apache e non phpshell.
  3. Ogni comando in phpshell deve essere rigorosamente una riga. Phpshell non capisce il comando in continuazione o un comando su più righe come nei loop.

Ricorda che è molto importante avere PHP Shell protetto da password, altrimenti tutti potranno curiosare nei tuoi file e forse anche cancellarli! Prenditi il tempo necessario per proteggere la tua installazione di PHP Shell.

Questo articolo ha lo scopo di renderti consapevole dell'aspetto più ampio e dell'implementazione della shell in modo molto lucido.

Per ora è tutto, da parte mia. Presto sarò di nuovo qui con un altro argomento interessante che voi adorerete leggere. Fino ad allora restate sintonizzati e connessi a tecmint. Divertiti!