Utforske Linux Shell (Terminal) eksternt ved å bruke PHP Shell


PHP Shell eller Shell PHP er et program eller skript skrevet i PHP (Php Hypertext Preprocessor) som gir Linux Terminal (Shell er et mye bredere konsept) i nettleseren. PHP Shell lar deg utføre de fleste shell-kommandoer i nettleseren, men ikke alle på grunn av begrensningene.

Oppdatering: Nylig har jeg funnet et veldig lovende verktøy kalt Wetty (Web + tty), som gir en komplett Linux-terminaltilgang over en HTTP- eller HTTPS-protokoll og lar deg utføre alle Linux-kommandoer og -programmer som om du satt foran en ekte eller virtuell terminal.

For mer informasjon om installasjon og bruk av Wetty besøk: Hvordan installere Wetty for å få tilgang til Linux Terminal over nettleseren

PHP Shell er veldig nyttig for å utføre Shell-kommandoer på ekstern webserver, lik Telnet og SSH. Det kan være nyttig for å flytte, pakke ut og håndtere større filer eller bulkfiler på webserveren. Administrere og vedlikeholde en webserver ved hjelp av PHP Shell er veldig mye enklere, forutsatt at brukeren har praktisk kunnskap om Shell-programmer.

Når det var Telnet og SSH allerede, hva er behovet for phpshell, er et spørsmål som kan komme til tankene dine. Svaret er – i mange tilfeller er brannmuren så restriktiv at ingenting, bortsett fra HTTP(S), kommer gjennom, i så fall lar phpshell deg få tilgang til skallet på en ekstern server.

Men du kan ikke kjøre et GUI-program eller et interaktivt skript/program ved hjelp av PHP Shell, det kan være begrensningene, men denne begrensningen er en velsignelse, da GUI-deaktivering betyr høyere sikkerhet.

Last ned PHP Shell

Den siste versjonen kan lastes ned her:

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

Hvordan installere PHP Shell

Som nevnt ovenfor er PHP Shell skrevet i PHP, så du trenger ikke å installere det, bare flytt den arkiverte filen til din fungerende apache/httpd-katalog, og selvfølgelig må du ha Apache og PHP installert.

Installer på Debian-baserte systemer ved å bruke apt-get-kommandoen.

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

Installer på Red Hat-baserte systemer ved å bruke yum-kommandoen.

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

Som standard er arbeidskatalogen for apache/http:

på Debian-basert distro /var/www

på Red Hat-basert distro /var/www/html

Merk: Den kan endres til en hvilken som helst annen mappe, og den anbefales som et sikkerhetstiltak.

Flytt den nedlastede PHP Shell-arkivfilen til Apache-arbeidsmappen. Her bruker jeg Debian-systemet, så min Apache-arbeidskatalog er.

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

Pakk ut php-skall

# tar -zxvf phpshell-2.4.tar.gz

Fjern den komprimerte filen.

# rm -rf phpshell-2.4.tar.gz

Gi nytt navn til php-skallmappen til noe som er vanskelig å gjette, som et sikkerhetstiltak. For eksempel flytter jeg til phpshell-mappen (nå tecmint-nix) og gir nytt navn til phpshell.php til index.php slik at du blir omdirigert direkte til indekssiden og ikke innholdet i mappen.

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

Greit, det er på tide å åpne nettleseren og navigere til http://127.0.0.1/tecmint-nix.

Som standard vil ingen brukernavn eller passord fungere, derfor må du legge til brukernavn og passord manuelt.

For å opprette et brukernavn og passord, ring pwhash.php-skriptet som allerede er i phpshell-mappen som http://127.0.0.1/tecmint-nix/pwhash.php.

Skriv inn brukernavn og passord på php-siden ovenfor og klikk Oppdater.

Som nevnt i resultatdelen må du legge til sha-linjen slik den er ved å kopiere og lime inn i config.php i [bruker]-delen.

Åpne config.php-filen med din favorittredigerer.

# nano config.php

Legg til linjen.

tecmint = "sha1:673a19a5:7e4b922b64a6321716370dad1fed192cdb661170"

Som det er i [brukerdelen], vil åpenbart din sha1 være unik basert på brukernavnet og passordet ditt.

Lagre config.php-filen med de gjeldende endringene og avslutt den.

Nå er det på tide å logge inn. Besøk http://127.0.0.1/tecmint-nix. Logg på med Brukernavn og Passord.

Ja, du har logget på phpshell. Nå kan du kjøre det meste av skallprogrammet like jevnt som om du kjører disse kommandoene og skriptene på ditt eget system.

Visse flaskehalser ved PHP Shell

  1. Ingen ekstra input støttes, dvs. at når et program er startet, kan ikke noe interaktivt skript brukes.
  2. Alle webservere er konfigurert til tidsavbrudd på en bestemt tidsramme, for eksempel 30 sek. Denne begrensningen gjelder webserver/Apache og ikke phpshell.
  3. Hver kommando i phpshell må strengt tatt være én linje. Phpshell forstår ikke kommando i fortsettelse eller en kommando med flere linjer som i looper.

Husk at det er veldig viktig å ha PHP Shell passordbeskyttet, ellers vil alle kunne snuske i filene dine og kanskje også slette dem! Ta deg tid til å beskytte installasjonen av PHP Shell.

Denne artikkelen har som mål å gjøre deg oppmerksom på det bredere aspektet og implementeringen av shell på en mye klar måte.

Det var alt for nå, fra meg. Jeg vil snart være her igjen med et annet interessant emne dere vil elske å lese. Inntil da, følg med og koble til tecmint. Nyt!