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:
- 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
- Není podporován žádný další vstup, tj. jakmile je program spuštěn, nelze použít žádný interaktivní skript.
- 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.
- 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!