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:
- 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
- Nije podržan dodatni unos, tj. kada se program jednom pokrene, ne može se koristiti interaktivna skripta.
- 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.
- 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!