Daljinsko istraživanje Linux Shell-a (terminal) pomoću PHP Shell-a


PHP Shell ili Shell PHP je program ili skripta napisana u PHP (Php Hypertext Preprocessor) koja pruža Linux terminal (Shell je mnogo širi koncept) u pregledniku. PHP Shell omogućuje vam izvršavanje većine naredbi ljuske u pregledniku, ali ne svih zbog svojih ograničenja.

Ažuriranje: Nedavno sam pronašao vrlo obećavajući alat pod nazivom 'Wetty (Web + tty)', koji pruža potpuni pristup Linux terminalu preko HTTP ili HTTPS protokola i omogućuje vam izvršavanje svih Linux naredbi i programa kao da sjedite ispred stvarnog ili virtualnog terminala.

Za više informacija o instalaciji i korištenju Wetty posjetite: Kako instalirati Wetty za pristup Linux terminalu preko web preglednika

PHP Shell vrlo je koristan u izvršavanju Shell naredbi na udaljenom web-poslužitelju, slično kao Telnet i SSH. Može biti koristan pri premještanju, raspakiranju i rukovanju većim datotekama ili skupnim datotekama na web-poslužitelju. Administriranje i održavanje web poslužitelja pomoću PHP Shell je puno lakše, pod uvjetom da korisnik ima radno znanje o Shell programima.

Kada su već postojali Telnet i SSH, što će vam phpshell, pitanje je koje vam može pasti na pamet. Odgovor je – u mnogim slučajevima, vatrozid je toliko restriktivan da ništa, osim HTTP(S-a), ne prolazi, u tom slučaju phpshell vam omogućuje da dobijete pristup ljusci na udaljenom poslužitelju.

Međutim, ne možete izvršiti GUI program ili interaktivnu skriptu/program koristeći PHP Shell. To bi moglo biti ograničenje, ali to je ograničenje dobro, jer onemogućavanje GUI-ja znači veću sigurnost.

Preuzmite PHP Shell

Najnoviju verziju možete preuzeti ovdje:

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

Kako instalirati PHP Shell

Kao što je gore navedeno PHP Shell je napisan u PHP tako da ga ne morate instalirati, samo premjestite arhiviranu datoteku na svoj radni apache/ httpd direktorij, i naravno morate imati instaliran Apache i PHP.

Instalirajte Apache i PHP

Instalirajte na sustave temeljene na Debianu pomoću naredbe apt-get.

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

Instalirajte na sustave koji se temelje na Red Hatu pomoću naredbe yum.

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

Zadani radni direktorij apache/http je:

na distribuciji baziranoj na Debianu /var/www

na Red Hat distribuciji /var/www/html

Napomena: Može se promijeniti u bilo koju drugu mapu i preporučuje se kao sigurnosna mjera.

Premjestite preuzetu arhivsku datoteku PHP Shell-a u Apache radni direktorij. Ovdje koristim Debian sustav, tako da je moj Apache radni direktorij.

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

Raspakirajte php shell

tar -zxvf phpshell-2.4.tar.gz

Uklonite komprimiranu datoteku.

rm -rf phpshell-2.4.tar.gz

Preimenujte mapu php shell u nešto što je teško pogoditi, kao sigurnosnu mjeru. Na primjer, premjestim se u mapu phpshell (sada tecmint-nix) i preimenujem phpshell.php u index.php tako da ste preusmjereni izravno na indeksnu stranicu, a ne na sadržaj mape.

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

Dobro, vrijeme je da otvorite svoj web preglednik i prijeđete na “http://127.0.0.1/tecmint-nix“.

Prema zadanim postavkama nijedno korisničko ime ili lozinka neće raditi, stoga korisničko ime i zaporku morate dodati ručno.

Za kreiranje korisničkog imena i lozinke pozovite skriptu pwhash.php koja se već nalazi u mapi phpshell poput “http://127.0.0.1/tecmint-nix/pwhash.php“.

Unesite korisničko ime i zaporku na gornjoj php stranici i kliknite na 'Ažuriraj'.

Kao što je navedeno u odjeljku s rezultatima, morate dodati sha liniju tako da kopirate i zalijepite u config.php u [user] odjeljak.

Otvorite datoteku config.php koristeći svoj omiljeni editor.

nano config.php

Dodajte liniju.

tecmint = "sha1:673a19a5:7e4b922b64a6321716370dad1fed192cdb661170"

Kako je u [odjeljku korisnika], očito će vaš sha1 biti jedinstven na temelju vašeg korisničkog imena i lozinke .

Spremite datoteku config.php s trenutnim promjenama i izađite iz nje.

Sada je vrijeme za prijavu. Posjetite http://127.0.0.1/tecmint-nix. Prijavite se koristeći svoje ‘korisničko ime’ i ‘lozinku’.

Da, uspješno ste se prijavili na svoj phpshell. Sada većinu programa ljuske možete izvršavati glatko kao da izvodite te naredbe i skripte na vlastitom sustavu.

Određena uska grla PHP Shell-a

  1. Dodatni unos nije podržan, tj. kada se program pokrene više se ne može koristiti interaktivna skripta.
  2. Cijeli je web-poslužitelj konfiguriran na vremensko ograničenje u određenom vremenskom okviru, recimo 30 sekundi. Ovo ograničenje odnosi se na web poslužitelj/Apache, a ne na phpshell.
  3. Svaka naredba u phpshellu mora biti striktno jedna linija. Phpshell ne razumije naredbu u nastavku ili naredbu s više redaka kao u petljama.

Imajte na umu da je vrlo važno imati PHP Shell zaštićen lozinkom, inače će svatko moći njuškati u vaše datoteke i možda ih moći i izbrisati! Odvojite vrijeme da zaštitite svoju instalaciju PHP Shell-a.

Cilj ovog članka je da vas osvijesti o širem aspektu i implementaciji ljuske na mnogo lucidan način.

To je sve za sada, od mene. Uskoro ću ponovno biti ovdje s još jednom zanimljivom temom koju ćete voljeti čitati. Do tada ostanite s nama i povezani na tecmint. Uživajte!