Einsatzgebiet und Funktionsumfang
Die aktuelle Version von Webshell ist vom 30.11.18
Lassen sich auf dem Webserver CGIs ausführen, steht dem Einsatz von Webshell nichts im Wege.
Sie können:
- ohne Telnet-Zugriff nicht interaktive Programme starten
- einen Dateibrowser nutzen
- und haben und Download-Funktionalität
Bei gleicher UID von Webserver und Datei bzw. Verzeichnis zusätzlich:
- Textdateien editieren
- Upload-Funktionalität
Ich habe Webshell bisher benutzt, um
- Datenbanken zu administrieren
Ich habe ein Perlskript geschrieben und über Webshell ausgeführt, um so eine Datenbank zu erstellen und zu füttern, als wäre ich am eigenen Rechner
- Backups zu erstellen
- Verzeichnisstrukturen umzuorganisieren
- kleine Änderungen mal schnell online zu machen
- herauszufinden, dass die meisten Verzeichnisse der Nutzer, sowie auch deren Apache-Logdateien bei meinem Webspaceprovider für alle anderen Nutzer lesbar waren (ist jetzt endlich behoben)
- meine Logdateien online mit grep zu durchsuchen
- eine .htaccess-Datei nach meinen Wünschen zu erstellen und zu bearbeiten ohne auf die Funktionalität des Managementprogramms angewiesen zu sein
Installation
Beispielhaft erklärt anhand eines Kommandozeilen Ftp-Clients
- Download von Webshell
- Mit dem Ftp-Client ins CGI-Verzeichnis wechseln
cd Wo_auch_immer_das_Verzeichnis_ist
- Webshell unter beliebigem Namen uploaden
bin
put webshell Neuer_Dateiname_von_webshell
- Die Dateirechte von Webshell im Ftp-Client auf Aufführung setzen:
chmod 755 Neuer_Dateiname_von_webshell
- http://www.MeinServer.xx/cgi-bin/Neuer_Dateiname_von_webshell aufrufen und entsprechend den Anweisungen konfigurieren
Meldet die Konfigurationsroutine den Erfolg und bietet die Anmeldung an, ist damit alles erledigt.
Bei Installationsproblemen
Die einfachste Lösung ist, vor dem Upload von webshell
my $cgi_writeable = 0; und my $origpass = "DeinPasswort";
zu setzen. Hierfür muss ein Editor benutzt werden, der die Unixzeilenendung erhält (Also nicht Notepad!). Diese Lösung ist aber auch sehr unsicher, da hier das Passwort im Klartext gespeichert wird und in den Serverlogdateien erscheinen kann
Die alternative Lösung, bei der nur verschlüsselte Passworte gespeichert werden, wobei webshell1 und webshell2 wie oben für beliebige, aber fest gewählte Dateinamen stehen :
- Download von webshell
- Mit dem Ftp-Client ins CGI-Verzeichnis wechseln
cd Wo_auch_immer_das_Verzeichnis_ist
- Webshell uploaden
bin
put webshell webshell1
- Das CGI-Verzeichnis kurzzeitig per Ftp-Client world-writable machen
chmod 777 .
- Die Dateirechte von webshell1 per Ftp-Client auf Aufführung setzen
chmod 755 webshell1
- http://www.MeinServer.xx/cgi-bin/webshell1 aufrufen und entsprechend den Anweisungen konfigurieren
- Per webshell1 im CGI-Verzeichnis ein neues Verzeichnis erstellen:
mkdir MeinVerzeichnis
- Per webshell1 das Webshell-Skript kopieren:
cp webshell1 webshell2
- webshell2 per webshell1 editieren:
my $oncefile = "MeinVerzeichnis/$cgi.once";
my $cryptfile = "MeinVerzeichnis/$cgi.passwd";
- webshell2 aufrufen und entsprechend den Anweisungen konfigurieren
- webshell1-Passworte per webshell2 löschen
rm webshell1.once webshell1.passwd
- webshell1 per Ftp-Client löschen
del webshell1
- Die alten Rechte vom CGI-Verzeichnis per Ftp-Client restaurieren. Zum Beispiel:
chmod 755 .