Raziskovanje lupine Linuxa (terminala) na daljavo z uporabo lupine PHP


PHP Shell ali Shell PHP je program ali skript, napisan v PHP (Php Hypertext Preprocessor), ki v brskalniku ponuja terminal Linux (Shell je veliko širši koncept). PHP Shell vam omogoča izvajanje večine ukazov lupine v brskalniku, vendar ne vseh zaradi svojih omejitev.

Posodobitev: Pred kratkim sem našel zelo perspektivno orodje z imenom 'Wetty (Web + tty)', ki omogoča popoln dostop do terminala Linux prek protokola HTTP ali HTTPS in omogoča izvajanje vseh ukazov in programov Linuxa, kot da bi sedel pred resničnim ali navideznim terminalom.

Za več informacij o namestitvi in uporabi Wetty obiščite: Kako namestiti Wetty za dostop do terminala Linux prek spletnega brskalnika

PHP Shell je zelo koristen pri izvrševanju ukazov Shell na oddaljenem spletnem strežniku, podobno kot Telnet in SSH. To je lahko koristno pri premikanju, razpakiranju in obdelavi večjih datotek ali datotek v razsutem stanju na spletnem strežniku. Skrbništvo in vzdrževanje spletnega strežnika z uporabo PHP Shell je zelo lažje, če uporabnik dobro pozna programe Shell.

Ko sta že obstajala Telnet in SSH, kaj potrebuje phpshell, je vaše vprašanje, ki vam bo morda padlo na pamet. Odgovor je - v mnogih primerih je požarni zid tako omejujoč, da razen HTTP (S) nič ne pride skozi, v tem primeru vam phpshell omogoča dostop do lupine na oddaljenem strežniku.

Vendar pa ne morete zagnati programa GUI ali interaktivnega skripta/programa s pomočjo lupine PHP. Morda gre za omejitev, vendar je ta omejitev dobra, saj onemogočanje GUI pomeni večjo varnost.

Prenesite PHP Shell

Najnovejšo različico lahko prenesete od tukaj:

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

Kako namestiti lupino PHP

Kot je navedeno zgoraj, je PHP Shell napisan v PHP, zato vam ga ni treba namestiti, samo premaknite arhivirano datoteko v svoj delujoči imenik apache/httpd in seveda morate imeti nameščena Apache in PHP.

Namestite na sisteme, ki temeljijo na Debianu, z ukazom apt-get.

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

Namestite na sisteme, ki temeljijo na Red Hat, z ukazom yum.

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

Privzeto je delovni imenik apache/http:

na distro/var/www na osnovi Debiana

na distribuciji/var/www/html na osnovi Red Hat

Opomba: Lahko ga spremenite v katero koli drugo mapo in je priporočljiva kot varnostni ukrep.

Preneseno arhivsko datoteko PHP Shell shranite v delovni imenik Apache. Tu uporabljam sistem Debian, zato je moj delovni imenik Apache.

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

Razpakirajte lupino php

# tar -zxvf phpshell-2.4.tar.gz

Odstranite stisnjeno datoteko.

# rm -rf phpshell-2.4.tar.gz

Preimenujte mapo lupine php v karkoli težko uganljivega, kot varnostni ukrep. Na primer, premaknem se v mapo phpshell (zdaj tecmint-nix) in preimenujem phpshell.php v index.php, tako da ste preusmerjeni neposredno na indeksno stran in ne na vsebino mape.

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

V redu, čas je, da odprete spletni brskalnik in se pomaknete do »http://127.0.0.1/tecmint-nix«.

Privzeto nobeno uporabniško ime ali geslo ne bo delovalo, zato morate uporabniško ime in geslo dodati ročno.

Če želite ustvariti uporabniško ime in geslo, pokličite skript pwhash.php, ki je že v mapi phpshell, na primer »http://127.0.0.1/tecmint-nix/pwhash.php«.

Na zgornji strani php vnesite uporabniško ime in geslo ter kliknite »Posodobi«.

Kot je navedeno v razdelku Rezultat, morate vrstico sha dodati tako, kot kopirajte in prilepite v config.php v razdelku [uporabnik].

Odprite datoteko config.php s svojim najljubšim urejevalnikom.

# nano config.php

Dodajte vrstico.

tecmint = "sha1:673a19a5:7e4b922b64a6321716370dad1fed192cdb661170"

Kot je v [uporabniški odsek], bo očitno vaš sha1 edinstven glede na vaše uporabniško ime in geslo.

Datoteko config.php shranite s trenutnimi spremembami in jo zaprite.

Zdaj je čas za prijavo. Obiščite http://127.0.0.1/tecmint-nix. Prijavite se z uporabniškim imenom in geslom.

Ja, uspešno ste se prijavili v svojo phpshell. Zdaj lahko program lupine zaženete tako gladko, kot da te ukaze in skripte izvajate v svojem sistemu.

Nekatera ozka grla PHP Shell

  1. Dodatni vhod ni podprt, tj. ko se program zažene, interaktivnega skripta ni več mogoče uporabiti.
  2. Ves spletni strežnik je konfiguriran za časovno omejitev v določenem časovnem okviru, recimo 30 sekund. Ta omejitev velja za spletni strežnik/Apache in ne za phpshell.
  3. Vsak ukaz v phpshell mora biti strogo ena podloga. Phpshell ne razume ukaza v nadaljevanju ali večvrstičnega ukaza kot v zankah.

Ne pozabite, da je zelo pomembno, da imate PHP Shell zaščiteno z geslom, sicer pa bodo vsi lahko tako vohljali po vaših datotekah in jih morda tudi lahko izbrisali! Vzemite si čas, da zaščitite namestitev PHP Shell.

Cilj tega članka je, da vas na zelo luciden način seznani s širšim vidikom in izvajanjem lupine.

To je za zdaj vse od mene. Kmalu bom spet tukaj z drugo zanimivo temo, ki jo boste ljudje radi brali. Do takrat ostanite z nami in povezani s tecmint. Uživajte!