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:
- 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
- Dodatni unos nije podržan, tj. kada se program pokrene više se ne može koristiti interaktivna skripta.
- 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.
- 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!