Wtorek, 29 sierpnia 2006 :: 19:41:18
(Ugly) SSH via CGI (WWW)
Wystawiam skrypt, o który tak prosiliście w e-mailach po poprzednim wpisie.
Nie jest to ani piękne ,ani dopracowane rozwiązanie, ale jeśli komuś naprawdę ma, cytuję: "uratować życie" — proszę bardzo! :-) Doskonale rozumiem, że dla wielu z Wam stworzenie nawet prostego skryptu może być problemem, zwłaszcza, jeśli nie macie pojęcia o CGI/PERL.
Ugly-SSH.cgi - Command line via WWW
Weźcie proszę pod uwagę, że to, co tu obecnie przezentuję, nawet w 10% nie można określić mianem SSH via CGI. Ten skrypt to po prostu prymitywne wykonywanie podanych poleceń i przedstawienie ich wyników na stronie WWW. Mimo wszystko, mam nadzieję, że komuś się przydai w tej postaci. Osobiście, będąc odciętym od możliwości sshowania się na serwer, korzystam z tego skryptu do kontrolowania crontaba, monitorowania pracy serwera i prostej administracji. (Niech żyją aplikacje webowe ;-)
SSH via CGI: Features
Działają wszystkie podstawowe polecenia powłoki (jak cat, echo, ls, pwd, who, cp, rm, mv i inne funkcje filemanagera, etc.). Vima niestety nie odpalicie, to samo z zestawieniem połączenia ssh ze zdalnym hostem.
W mojej ocenie, początkującym skrypt nie da zbyt wielu możliwości — natomiast doświadczeni hackerzy CLI, ze znajomością komend UNIX-owych, sa w stanie zrobić z niego użytek. Narzędzia parsujące, potoki i przekierowania potrafią cuda. Dodatkowo, wiele z terminalowych komend posiada obsługę plików wsadowych *EG* (można więc napisać sobie taki plik echo "foo bar" > plik a potem go wykonać: ftp < plik).
SSH via CGI: Instalacja
1. Wgraj skrypt do katalogu na swoim serwerze (zazwyczaj public_html/cgi-bin/).
2. Zmień rozszerzenie pliku z .txt na .cgi (mv ugly-ssh.txt ugly-ssh.cgi)
3. Ustaw w skrypcie ścieżkę do PERLa (#!/sciezka/do/perla - PERL można zlokalizować wydając polecenie which perl lub whereis perl)
4. Nadaj plikowi prawa 755 (chmod 755 uglyssh.cgi).
5. Gotowe, otwórz plik w przeglądarce (http://twoj.serwer/katalog/uglyssh.cgi).
Miejcie na uwadze to, że komunikacja NIE jest szyfrowana (chyba, że ktoś uruchomi skrypt po SSL).
Skrypt nie przeprowadza autoryzacji, więc KAŻDY, kto się do niego dostanie, będzie mógł bawić się serwerem z co najmniej takimi uprawnieniami, jakie posiada Wasze konto. Dlatego proponuję wrzucić do katalogu ze skryptem prosty plik .htaccess narzucający wymóg autoryzacji uzytkownika. Tak... skrypt spisuje się całkiem świetnie w roli backdoora...
Jeśli już jesteśmy przy temacie omijania blokad proxy i firewalli, trafiłem na całkiem pożyteczne narzędzie - nph-proxy. Postawiłem u siebie na serwerze i korzystam wszędzie, gdzie filtrują ruch HTTP. Działa wyśmienicie — polecam.
PS: Nowszą wersję Ugly SSH, z obsługą strumieni i emulacją terminala wystawię niebawem — póki co jest niestabilna i płata brzydkie figle.
• Następny post:
Pimp your AdSense! (5 złotych rad)
• Poprzedni post:
Kod źródłowy w dowolnym języku jako strona WWW (HTML)
Chcesz być informowany o kolejnych wpisach na ten temat?
Kanał RSS: kliknij tutaj. Subskrybcja poprzez e-mail: kliknij tutaj.