Vyhledávání na webu

Zkoumání Linux Shell (terminál) vzdáleně pomocí PHP Shell


PHP Shell nebo Shell PHP je program nebo skript napsaný v PHP (Php Hypertext Preprocessor), který poskytuje Linuxový terminál (Shell je mnohem širší pojem) v prohlížeči. PHP Shell vám umožňuje provádět většinu příkazů shellu v prohlížeči, ale ne všechny kvůli jeho omezením.

Aktualizace: Nedávno jsem našel velmi slibný nástroj s názvem 'Wetty (Web + tty)', který poskytuje úplný přístup k terminálu Linux přes protokol HTTP nebo HTTPS a umožňuje provádět všechny linuxové příkazy a programy, jako byste seděli před skutečným nebo virtuálním terminálem.

Další informace o instalaci a používání Wetty naleznete na adrese: Jak nainstalovat Wetty pro přístup k terminálu Linux přes webový prohlížeč

PHP Shell je velmi užitečný při spouštění příkazů Shell na vzdáleném webovém serveru, podobně jako Telnet a SSH. To může být užitečné při přesouvání, rozbalování a manipulaci s většími soubory nebo hromadnými soubory na webovém serveru. Správa a údržba webového serveru pomocí PHP Shell je mnohem jednodušší za předpokladu, že uživatel má pracovní znalosti programů Shell.

Když už tu byl Telnet a SSH, co je potřeba phpshell, je otázka, která vás možná napadne. Odpověď zní – v mnoha případech je firewall tak omezující, že nic, kromě HTTP(S) neprojde, v takovém případě vám phpshell umožní získat přístup k shellu na vzdáleném serveru.

Nemůžete však spustit program GUI nebo interaktivní skript/program pomocí PHP Shell, může to být omezení, ale toto omezení je přínosem, protože deaktivace GUI znamená vyšší bezpečnost.

Stáhněte si PHP Shell

Nejnovější verzi lze stáhnout zde:

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

Jak nainstalovat PHP Shell

Jak je uvedeno výše, PHP Shell je napsán v PHP, takže jej nemusíte instalovat, stačí přesunout archivovaný soubor do svého pracovního apache/ httpd adresář a samozřejmě musíte mít nainstalované Apache a PHP.

Nainstalujte Apache a PHP

Nainstalujte na systémy založené na Debian pomocí příkazu apt-get.

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

Nainstalujte na systémy založené na Red Hat pomocí příkazu yum.

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

Výchozí pracovní adresář apache/http je:

na Debian distribuci /var/www

na Red Hat distribuci /var/www/html

Poznámka: Lze ji změnit na jakoukoli jinou složku a je to doporučeno jako bezpečnostní opatření.

Přesuňte stažený archivní soubor PHP Shell do pracovního adresáře Apache. Zde používám systém Debian, takže můj pracovní adresář Apache je.

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

Rozbalte php shell

tar -zxvf phpshell-2.4.tar.gz

Odeberte komprimovaný soubor.

rm -rf phpshell-2.4.tar.gz

Přejmenujte složku php shell na něco, co je těžké uhodnout, jako bezpečnostní opatření. Přesunu se například do složky phpshell (nyní tecmint-nix) a přejmenuji phpshell.php na index.php, takže budete přesměrováni přímo na stránku indexu a ne na obsah složky.

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

Dobře, je čas otevřít webový prohlížeč a přejít na „http://127.0.0.1/tecmint-nix“.

Ve výchozím nastavení nebude fungovat žádné uživatelské jméno ani heslo, proto je nutné přidat uživatelské jméno a heslo ručně.

Chcete-li vytvořit uživatelské jméno a heslo, zavolejte skript pwhash.php, který je již ve složce phpshell jako „http://127.0.0.1/tecmint-nix/pwhash.php“.

Na výše uvedené stránce php zadejte Uživatelské jméno a heslo a klikněte na „Aktualizovat“.

Jak je uvedeno v sekci Výsledek, musíte přidat řádek sha tak, jak je zkopírováním a vložením do config.php v [user] sekce.

Otevřete soubor config.php pomocí svého oblíbeného editoru.

nano config.php

Přidejte řádek.

tecmint = "sha1:673a19a5:7e4b922b64a6321716370dad1fed192cdb661170"

Jak je to v [uživatelské sekci], vaše sha1 bude samozřejmě jedinečné na základě vašeho uživatelského jména a hesla .

Uložte soubor config.php s aktuálními změnami a ukončete jej.

Nyní je čas se přihlásit. Navštivte http://127.0.0.1/tecmint-nix. Přihlaste se pomocí svého „Uživatelského jména“ a „Hesla“.

Ano, úspěšně jste se přihlásili do svého phpshell. Nyní můžete většinu shell programu spouštět stejně hladce, jako byste tyto příkazy a skripty spouštěli na svém vlastním systému.

Určitá úzká hrdla PHP Shell

  1. Není podporován žádný další vstup, tj. jakmile je program spuštěn, nelze použít žádný interaktivní skript.
  2. Celý webový server je nakonfigurován tak, aby vypršel časový limit v určitém časovém rámci, řekněme 30 sekund. Toto omezení se týká webového serveru/Apache a ne phpshell.
  3. Každý příkaz v phpshell musí být striktně jeden řádek. Phpshell nerozumí příkazu v pokračování nebo příkazu s více řádky jako ve smyčkách.

Pamatujte, že je velmi důležité mít PHP Shell chráněný heslem, jinak bude moci každý prohlížet vaše soubory a možná je také smazat! Věnujte prosím čas ochraně své instalace PHP Shell.

Tento článek je zaměřen na to, abyste si byli vědomi širšího aspektu a implementace shellu velmi přehledným způsobem.

To je pro tuto chvíli vše, ode mě. Brzy tu budu znovu s dalším zajímavým tématem, které si lidé rádi přečtou. Do té doby zůstaňte naladěni a připojeni k tecmint. Užijte si to!