shellinabox - Telnet im Browser

Oh die Idee es wie avmload durch den "Hauseigenen" Webserver zu schleifen, hat ja wirklich charm.
Hoffe der Gute setzt es um.
 
Wie "schwer" ist die Version ohne SSL? Zur Not könnte man Matrixtunnel zum "durchschleifen" nutzen. Zwar wird es vermutlich vom Performance her etwas langsamer als eine "echte" SSL-Variante arbeiten, vielleicht reicht dies dennoch aus.
AVM-HTTPS-Server dafür zu nutzen finde ich nicht so gut. Lieber den alten guten httpd + irgendeine externe SSL-Aufsetz-Variante fürs draußen.
Wie gut ist denn die Authentifizierung bei diesem Ding? Auf welcher Basis läuft sie? Kann man es überhaupt mit einem ruhigen Gewissen fürs Draußen freigeben?

MfG
 
Ich glaube nicht, daß Matrixtunnel deutlich langsamer ist als direkt integriertes SSL. Bei dynamischem Linken sollte aber auch die Datei mit SSL nicht deutlich größer sein also ohne.

Den AVM Webserver (optional) zu benutzen halte ich für eine gute Idee, speziell da dieser schon SSL und Anmeldung unterstützt.
Ansonsten gehe ich davon aus, daß man sich zuerst mit Paßwort anmelden muß, bevor man etwas machen kann.
 
Gegenüber AVM-HTTPS wieß ich nicht, ob matrixtunnel schneller oder langsamer ist. Meine Erfahrung war, dass es schon auf einer 7170 langsamer lief.
Zur Authentifizierung meinte ich, ob sie auf CGI-basis läuft oder http-auth benutzt.
AVM-WebIF mit diesem Shell-Ding zu "verheiraten" halte immer noch für keine gute Idee. Es bedarf meiner Meinung nach eine separate httpd-Instanz und sollte vollkomend unabhängig vom AVM-WebIF laufen. AVM-WebIF kann man schon einem gewissen Kreis von Benutzern zutrauen, irgendwelche Shell-Dinge (auch rudi-shell) und vor allem die als root laufen sind dafür zu gefährlich. Vor allem, wenn man sie nach draußen frei gibt. Deswegen sollten solche Freigaben gut durchdacht werden.

MfG
 
Wenn das Programm das tut, was ich vermute, bekommt man einen Login-Bildschirm, in dem man erst einen Benutzer und ein Kennwort eingeben muß, so wie wenn man an einem Terminal sitzen würde.

Aber wenn das Programm selbst Webserver ist, funktioniert es vermutlich sowieso nicht unter einem anderen Webserver. Zumindest verstehe ich den Request von Chatty aus [POST=1644439]#15[/POST] so.
 
Genau so funktioniert es: Nach dem Aufruf bekommt man eine login-Seite. Zwischenablage03.png

Zumindest in den freetz-httpd lässt sich das ganze auch direkt einbinden, wenn man dieses "cgi" aufruft (z.B. zum Testen "about.cgi" damit übermounten; siehe auch im Bild):
Code:
#!/bin/sh
shellinaboxd -u 0 -g 0 -c /var/tmp/ --cgi

Jörg
 
Zuletzt bearbeitet:
Sorry...kannst du das mit dem übermounten nochmal etwas genauer erklären?
Dachte das wäre was mit mount -bind gewesen...aber deinen Befehl da kann ich als nicht linux guru nicht ganz nachvollziehen...will das ganze nämlich dringend über AVM webif Oder freetz Webif laufen lassen.

Danke im Voraus
 
Das oben ist nur das "cgi-Skript". Mit --cgi aufgerufen verhält sich shellinaboxd so.

Alles zusammen wäre (wenn shellinaboxd und certitficate.pem in /var/tmp sind):
Code:
cat << 'eof' > /var/tmp/siab.cgi 
#!/bin/sh
/var/tmp/shellinaboxd -u 0 -g 0 -c /var/tmp/ --cgi
eof
chmod +x /var/tmp/siab.cgi 
mount -o bind /var/tmp/siab.cgi /usr/mww/cgi-bin/about.cgi

Jörg
 
Danke schön...
Leider läd er sich auf diese Weise zu tode...
Habe zwar die Tab Überschrift richtig das es SheeInABox werden soll...aber dann kommt time out...
Aber die Idee iss kalsse...
Danke
Oder liegt es daran das ich nur Port 81 zur Verfügung habe? Wechselt er auf einen anderen, käme ich von @work nicht drauf...
Grüße
 
Ist "/var/tmp/shellinaboxd" auch der korrekte Pfad?
Ein Zertifikat hast du aber? Sonst packe noch ein "-t" mit in den Aufruf vom Programm, um SSL zu deaktivieren.

Jörg
 
@Jörg
Danke für dein cgi-Skript. Es funktioniert gut.

@Darkyputz
Es liegt am Port. Shellinabox sucht sich sich einen freien Port und es wird wohl kaum Port 81 sein. Guck dir einfach den Quelltext von der cgi-Seite an. Da steht dann der Port, der verwendet wird.
 
shellinabox-Paket (Patch) von MaxMuster für Freetz, ergänzt (siehe Anhang) mit den Files "external.in" und "external.files", zum externalisieren von "shellinaboxd".
Code:
...myfreetz/freetz6212/[B]freetz-trunk[/B]> [B]patch -p0 < shellinabox_ext.patch.txt[/B]
patching file make/shellinabox/Config.in
patching file make/shellinabox/[COLOR="Red"]external.files[/COLOR]
patching file make/shellinabox/[COLOR="Red"]external.in[/COLOR]
patching file make/shellinabox/Makefile.in
patching file make/shellinabox/patches/100_bring_to_trunk_r239.patch
patching file make/shellinabox/patches/110_fix_missing_getgrouplist.patch
patching file make/shellinabox/patches/120_fix_missing_uclib_utmpx_h.patch
patching file make/shellinabox/patches/130_fix_static.patch
patching file make/shellinabox/shellinabox.mk
 

Anhänge

  • shellinabox_ext.patch.txt.tar.gz
    76.8 KB · Aufrufe: 7
Zuletzt bearbeitet:
Erster Patch mit einem GUI-Versuch. Bitte dran denken, die ausführbaren Dateien "von Hand" ausführbar zu machen...


Jörg
 

Anhänge

  • shellinaboxd_20101127.patch.txt.gz
    78 KB · Aufrufe: 10
Versucht eigentlich noch jemand den AVM-Webserver zu benutzen? Ich bekomme das Binary zwar ausgeführt, aber bei Aufrufen des Skripts mit dem Browser kommt nur eine leere Seite?!
 
Wie hast du das denn genau probiert?
Geht bei mir analog auch mit dem AVM-Webserver im ctlmgr (z.B. so mit /usr/www/all/cgi-bin/capture_notimeout und mit -t ohne Zertifikat):
Code:
cat << 'eof' > /var/tmp/siab.cgi 
#!/bin/sh
/var/tmp/shellinaboxd -t -u 0 -g 0 --cgi
eof
chmod +x /var/tmp/siab.cgi 
mount -o bind /var/tmp/siab.cgi /usr/www/all/cgi-bin/capture_notimeout

Jörg
 

Anhänge

  • shellinabox_avm.png
    shellinabox_avm.png
    65.8 KB · Aufrufe: 32
Mit curl (im Gegensatz zu Opera) sah ich jetzt, dass er die Lib nicht laden konnte. Nachdem ich export LD_LIBRARY_PATH=... dem Skript hinzugefügt hatte, funktioniert es.

Allerdings kann ich mich jetzt nicht einloggen. Ich werde im Gegensatz zum normalen Telnet nicht nach dem Web-Passwort sondern nach Name+PW gefragt. Auf diese Weise ist root natürlich nicht erlaubt. /etc/passwd enthält noch den Benutzer boxusr80, aber das Web-Password funktioniert hier auch nicht. Ich habe mit passwd mal ein Passwort für boxusr80 gesetzt - funktioniert. Für root leider nicht.

Das zweite Problem ist, dass es nur lokal mit http://fritz.box/... funktioniert. Über https://mein.svr.de/... lässt sich die erste HTML-Seite zwar abrufen, aber dann gibt Opera aus: Could not connect to https://mein.svr.de:3152/. Wenn es dann nicht über den gleichen Port funktioniert, ist das ganz für mich witzlos.
 
Zuletzt bearbeitet:
@Chatty
Den Port kannst du Einstellen. Du musst nur die Hilfe lesen:
# --cgi[=portrange]

Instead of running shellinaboxd as a permanent process, it can be demand-loaded as a CGI web server extension. When doing so, it will spawn a server that lives for the duration of the user's session. If an optional portrange of the form MINPORT-MAXPORT has been provided, the server limits itself to these port numbers. They should be configured to pass through the firewall.

The --cgi option is mutually exclusive with the --background, --pidfile and --port options.

In order to be useful as a CGI script, the shellinaboxd binary probably will have to be made setuid-root. This is currently a discouraged configuration. Use with care.
 
Den Teil habe ich gelesen, aber ohne es probiert zu haben: ich glaube nicht, dass es über Port 443 läuft, denn dort lauscht ja nur der AVM-Webserver. Die Implementierung scheint aber in jedem Fall auf einen eigenen Server für die Kommunikation zu setzen.
 
..., dass es über Port 443 läuft, denn dort lauscht ja nur der AVM-Webserver. ....
Kann man den AVM-Webserver nicht an einem anderen Port (als 443) lauschen lassen? Nicht für immer, nur als Test z. B.;)
 
Das lässt sich im AVM-WebIf konfigurieren, aber dann kann ich zumind. in meinem Szenario die Session nicht mehr initiieren. Ungefiltert gibt's nur einmal: https-verschlüsselt über 443. Ist der SIAB-Tunnel denn überhaupt verschlüsselt in "meiner" Konfiguration (Init über AVM-https, Binary mit -t gestartet)? Muss ich wohl mal sniffen... ich tippe auf nein.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.