Istraživanje Linux Shell-a (Terminal) na daljinu koristeći PHP Shell


PHP Shell ili Shell PHP je program ili skripta napisana u PHP (Php Hypertext Preprocessor) koji pruža Linux terminal (Shell je mnogo širi koncept) u pretraživaču. PHP Shell vam omogućava da izvršite većinu komandi ljuske u pretraživaču, ali ne sve zbog svojih ograničenja.

Ažuriranje: Nedavno sam pronašao vrlo obećavajući alat pod nazivom 'Wetty (Web + tty)', koji pruža potpun pristup Linux terminalu preko HTTP ili HTTPS protokola i omogućava vam da izvršavate sve Linux komande i programe kao da sjedite ispred stvarnog ili virtuelnog terminala.

Za više informacija o instalaciji i korištenju Wetty posjetite: Kako instalirati Wetty za pristup Linux terminalu preko web pretraživača

PHP Shell je veoma koristan u izvršavanju Shell komandi na udaljenom web serveru, slično kao Telnet i SSH. Može biti korisno za premeštanje, raspakivanje i rukovanje većim fajlovima ili grupnim fajlovima na Web serveru. Administracija i održavanje web servera koristeći PHP Shell je mnogo lakše, pod uslovom da korisnik ima radno znanje o Shell programima.

Kada su već postojali Telnet i SSH, za šta je potreban phpshell, pitanje je koje bi vam moglo pasti na pamet. Odgovor je – u mnogim slučajevima, zaštitni zid je toliko restriktivan da ništa osim HTTP(S) ne prolazi, u tom slučaju phpshell vam omogućava da dobijete pristup ljusci na udaljenom serveru.

Međutim, ne možete izvršiti GUI program ili interaktivnu skriptu/program koristeći PHP Shell, to bi moglo biti ograničenje, ali ovo ograničenje je blagodat, 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 u vaš radni apache/ httpd direktorij, i naravno morate imati instalirane Apache i PHP.

Instalirajte Apache i PHP

Instalirajte na Debian sisteme koristeći naredbu apt-get.

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

Instalirajte na Red Hat sisteme koristeći yum komandu.

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

Standardno radni direktorij apache/http je:

na Debian distribuciji /var/www

na Red Hat distribuciji /var/www/html

Napomena: Može se promijeniti u bilo koji drugi folder i preporučuje se kao sigurnosna mjera.

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

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

Raspakujte php shell

tar -zxvf phpshell-2.4.tar.gz

Uklonite komprimirani fajl.

rm -rf phpshell-2.4.tar.gz

Preimenujte folder php shell u bilo šta što je teško pogoditi, kao mjeru sigurnosti. Na primjer, prelazim u phpshell (sada tecmint-nix) folder i preimenujem phpshell.php u index.php tako da budete preusmjereni direktno na stranicu indeksa, a ne na sadržaj foldera.

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

Dobro, vrijeme je da otvorite svoj web pretraživač i idite na “http://127.0.0.1/tecmint-nix“.

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

Za kreiranje korisničkog imena i lozinke pozovite skriptu pwhash.php koja je već u phpshell folderu kao što je „http://127.0.0.1/tecmint-nix/pwhash.php“.

Unesite Korisničko ime i lozinku na gornjoj php stranici i kliknite na "Ažuriraj".

Kao što je navedeno u odjeljku Rezultat, morate dodati sha liniju kao što je kopiranjem i lijepljenjem u config.php u [user] odjeljak.

Otvorite datoteku config.php koristeći svoj omiljeni uređivač.

nano config.php

Dodajte liniju.

tecmint = "sha1:673a19a5:7e4b922b64a6321716370dad1fed192cdb661170"

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

Sačuvajte datoteku config.php sa trenutnim promjenama i izađite iz nje.

Sada je vrijeme da se prijavite. 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 možete izvršiti većinu shell programa tako glatko kao da izvodite te komande i skripte na svom vlastitom sistemu.

Određena uska grla PHP Shell-a

  1. Nije podržan dodatni unos, tj. kada se program jednom pokrene, ne može se koristiti interaktivna skripta.
  2. Sav web server je konfiguriran da istekne u određenom vremenskom okviru, recimo 30 sekundi. Ovo ograničenje je za web server/Apache a ne phpshell.
  3. Svaka naredba u phpshell-u mora biti strogo jedna linija. Phpshell ne razumije naredbu u nastavku ili naredbu u više redova kao u petljama.

Zapamtite da je veoma važno imati PHP Shell zaštićenu lozinkom, inače će svi moći tako da uhode u vaše datoteke, a možda i da ih izbrišu! Odvojite vrijeme da zaštitite svoju instalaciju PHP Shell-a.

Ovaj članak ima za cilj da vas osvijesti širi aspekt i implementaciju shell-a na mnogo lucidan način.

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