„Linux Shell“ (terminalo) tyrinėjimas nuotoliniu būdu naudojant PHP apvalkalą


PHP Shell arba Shell PHP yra programa arba scenarijus, parašytas PHP (Php Hypertext Preprocessor), kuris suteikia >Linux terminalas (Shell yra daug platesnė sąvoka) naršyklėje. PHP Shell leidžia vykdyti daugumą apvalkalo komandų naršyklėje, bet ne visas dėl jos apribojimų.

Atnaujinimas: neseniai radau labai perspektyvų įrankį, pavadintą Wetty (Web + tty), kuris suteikia visišką Linux terminalo prieigą. per HTTP arba HTTPS protokolą ir leidžia vykdyti visas Linux komandas ir programas taip, lyg sėdėtumėte priešais tikrą ar virtualų terminalą.

Norėdami gauti daugiau informacijos apie Wetty diegimą ir naudojimą, apsilankykite: Kaip įdiegti Wetty, kad galėtumėte pasiekti Linux terminalą per žiniatinklio naršyklę

PHP Shell yra labai naudingas vykdant Shell komandas nuotoliniame žiniatinklio serveryje, panašiai kaip Telnet ir SSH. Tai gali būti naudinga perkeliant, išpakuojant ir tvarkant didesnius failus arba masinius failus žiniatinklio serveryje. Administruoti ir prižiūrėti žiniatinklio serverį naudojant PHP Shell yra daug lengviau, jei vartotojas turi darbo žinių apie Shell programas.

Kai jau buvo Telnet ir SSH, kam reikalingas phpshell, gali kilti klausimas. Atsakymas yra toks: daugeliu atvejų ugniasienė yra tokia ribojanti, kad niekas, išskyrus HTTP(S), nepraeina, tokiu atveju phpshell leidžia gauti apvalkalo prieigą nuotoliniame serveryje.

Tačiau negalite vykdyti GUI programos arba interaktyvaus scenarijaus/programos naudodami PHP Shell. Tai gali būti apribojimas, tačiau šis apribojimas yra palaima, nes GUI išjungimas reiškia didesnį saugumą.

Atsisiųskite PHP Shell

Naujausią versiją galima atsisiųsti iš čia:

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

Kaip įdiegti PHP Shell

Kaip minėta aukščiau, PHP Shell yra parašytas PHP, todėl jums nereikia jo įdiegti, tiesiog perkelkite archyvuotą failą į savo veikiančią apache/ httpd kataloge ir, žinoma, turite įdiegti Apache ir PHP.

Įdiekite Apache ir PHP

Įdiekite Debian pagrindu veikiančiose sistemose naudodami komandą apt-get.

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

Įdiekite Red Hat pagrįstose sistemose naudodami komandą yum.

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

Pagal numatytuosius nustatymus apache/http darbo katalogas yra:

Debian pagrindu sukurtame distributyve /var/www

Red Hat pagrindu sukurtame distributyve /var/www/html

Pastaba: jį galima pakeisti į bet kurį kitą aplanką, todėl rekomenduojama jį naudoti kaip saugos priemonę.

Perkelkite atsisiųstą PHP Shell archyvo failą į Apache darbo katalogą. Čia aš naudoju Debian sistemą, taigi mano Apache darbo katalogas yra.

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

Išpakuokite php apvalkalą

tar -zxvf phpshell-2.4.tar.gz

Pašalinkite suspaustą failą.

rm -rf phpshell-2.4.tar.gz

Pervardykite php apvalkalo aplanką į bet ką sunkiai atspėjamą saugumo priemonę. Pavyzdžiui, pereinu į aplanką phpshell (dabar tecmint-nix) ir pervardiju phpshell.php į index.php, kad būtumėte nukreipti tiesiai į rodyklės puslapį, o ne į aplanko turinį.

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

Puiku, laikas atidaryti žiniatinklio naršyklę ir eiti į „http://127.0.0.1/tecmint-nix“.

Pagal numatytuosius nustatymus joks naudotojo vardas ar slaptažodis neveiks, todėl naudotojo vardą ir slaptažodį turite pridėti rankiniu būdu.

Norėdami sukurti vartotojo vardą ir slaptažodį, iškvieskite pwhash.php scenarijų, jau esantį phpshell aplanke, pvz., „http://127.0.0.1/tecmint-nix/pwhash.php“.

Įveskite Vartotojo vardą ir slaptažodį aukščiau esančiame php puslapyje ir spustelėkite Atnaujinti.

Kaip nurodyta skiltyje „Rezultatas“, turite pridėti sha eilutę, nukopijuodami ir įklijuodami į config.php, esančiame [user]. skyrius.

Atidarykite config.php failą naudodami mėgstamą redaktorių.

nano config.php

Pridėkite eilutę.

tecmint = "sha1:673a19a5:7e4b922b64a6321716370dad1fed192cdb661170"

Kaip ir [naudotojo skiltyje], akivaizdu, kad jūsų sha1 bus unikalus pagal jūsų naudotojo vardą ir slaptažodį .

Išsaugokite config.php failą su esamais pakeitimais ir išeikite iš jo.

Dabar laikas prisijungti. Apsilankykite adresu http://127.0.0.1/tecmint-nix. Prisijunkite naudodami savo Vartotojo vardą ir Slaptažodį.

Taip, jūs sėkmingai prisijungėte prie savo phpshell. Dabar daugumą apvalkalo programos galite vykdyti taip sklandžiai, lyg paleistumėte šias komandas ir scenarijus savo sistemoje.

Tam tikros PHP Shell kliūtys

  1. Jokia papildoma įvestis nepalaikoma, t. y. paleidus programą negalima naudoti interaktyvaus scenarijaus.
  2. Visas žiniatinklio serveris sukonfigūruotas taip, kad pasibaigtų skirtasis laikas tam tikru laikotarpiu, tarkime, 30 sek.. Šis apribojimas taikomas žiniatinklio serveriui/„Apache“, o ne „phpshell“.
  3. Kiekviena komanda phpshell turi būti griežtai viena eilutė. Phpshell nesupranta komandos tęsinyje arba kelių eilučių komandos, kaip kilpose.

Atminkite, kad labai svarbu, kad PHP Shell būtų apsaugotas slaptažodžiu, nes kitaip visi galės taip šnipinėti jūsų failus ir galbūt juos ištrinti! Skirkite laiko savo PHP Shell diegimo apsaugai.

Šio straipsnio tikslas – labai aiškiai supažindinti jus su platesniu apvalkalo aspektu ir įgyvendinimu.

Tai kol kas viskas, nuo manęs. Netrukus vėl būsiu čia su kita įdomia tema, kurią žmonės mielai skaitys. Iki tol sekite naujienas ir prisijunkite prie tecmint. Mėgaukitės!