HTTP REFFERER macht Sorgen

han-solo

Mitglied
Mitglied seit
28 Jul 2005
Beiträge
451
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich nutze hauptsächlich diverse SSH Tunnel um meine FritzBoxen zu administrieren.
Ich logge mich also per ssh in die Box ein und tunnele z.B. das Webinterface der FritzBox und Freetz auf localhost.

Seit der neuen Firmware funzt das aber mit dem original AVM Webinterface nicht mehr, weil der REFERER geprüft wird.

Beim Firefox kann man ein Plugin installieren, welches den Referer blockt aber beim IE geht das nicht.

Nun meine Frage: Kann man nicht einen Patch schreiben um diese REFERER Überprüfung zu entfernen? Könnte man ja in menuconfig anwählen wenn man es haben will.

Danke schonmal für eure Antworten.

Gruß
HS
 
Zuletzt bearbeitet:
Theoretisch kann man für fast alles einen Patch machen.

Was stellst Du Dir in diesem Fall vor? Es ist eine Funktion, die AVM absichtlich eingebaut hat, in einem Programm, für das keine Quelltexte verfügbar sind.

Das einzige, was halbwegs praktikabel wäre, ist ein Proxy, der den Referrer entfernt.
 
Ich dachte das wäre irgendwo im HTML Code verankert und man könnte es einfach beseitigen. Aber irgendwie muss es doch Mittel und Wege dafür geben das weg zu bekommen?
 
Entweder der Sender sendet es nicht, oder der Empfänger wertet es nicht aus, oder es wird irgendwo auf dem Weg verändert.

Der Referrer wird vom Browser normalerweise übermittelt, es ist eine Firefox Erweiterung, dies zu unterbinden.
Der AVM Server wertet den Referrer aus, ohne Quellen ist das nicht so einfach zu ändern.
Bleibt nur noch, über einen Proxy die Daten unterwegs zu ändern.
 
Bei mir ist es sogar so, dass der Referrer die Seite blockt, obwohl ich über die Fernwartung (https) auf die FritzBox gehe. Diese läuft im Moment aber nur als ATA. Vieleicht liegt es daran.

MfG Oliver
 
Wir könnten natürlich auf der Box einen Proxy installieren, der auf Port 80 lauscht und den REFERER entfernt, und das Webinterface auf einen anderen Port umbiegen, auf den der Proxy dann weiterleitet...
 
Wäre es nicht einfacher, den httpd des freetz zu nutzen?
Und bei den neuen Boxen mit webserver im ctlmgr den Dienst auf einem anderen Port "parallel" zu starten??

Jörg
 
Vielleicht. Wobei ich nicht weiss, ob das so einfach möglich ist.
 
Auch wenn es kein Beweis ist: Ein schnelles
Code:
httpd -p 82 -h /var/html/
sorgt zumindest für die Erreichbarkeit des "Fritz-WebIF" auf meiner Box auch auf Port 82 ;-)

Jörg
 
Ja, früher hatten wir ja auch den replace websrv by httpd-Patch, den ich mitentwickelt hab. Aber zum einen könnte es ja sein, daß der in den ctlmgr integrierte Webserver manche CGI-Anweisungen z.b. direkt ausführt (was wir dann nicht abbilden können), und ich weiss auch nicht, ob der ctlmgr sich auf einen anderen Port binden lässt. Ich hab aber auch nix ausprobiert.
 
Bis vor einiger Zeit gab es die Möglichkeit eh,den AVM-Webserver rauszupatchen und anstelle davon den der Busybox zu nutzen. Aber seit AVM den httpd mit in den ctlmgr gesteckt hat, ist dies ebne nicht mehr so möglich. Aberr - und dies sollte weiterhin möglich sein - man kann wohl durchaus trotz httpd im ctlmgr nen httpd aus der busybox nutzen. Man muss dann nur sicherstellen, dass "unser" httpd _vor_ dem von AVM startet, oder de nctlmgr kurzzeitig beendet, um den Port zu belegen.
 
Ich war mir nicht sicher, was der ctlmgr macht, wenn der Port belegt ist. Aber ein beherztes
Code:
 ctlmgr -s && sleep 2 && httpd -p 80 -h /var/html/ && ctlmgr
hat die Box noch nicht abstürzen lassen und die Box ist normal erreichbar. War denn "damals" ausser dem Starten des httpds noch was anderes geändert worden, um das AVM Webif an den httpd anzupassen?!?.


Jörg
 
Nein, mehr war nicht nötig. Ich glaube, so lief das bei ds15.2 die Ganze Zeit über bei mir. Also ohne den websrv.
 
aber für das Problem von han-solo muss man den AVM-Webserver gar nicht killen. Einfach httpd auf einem anderen Port als 80 (z.B. 82, wie oben dargestellt) laufen lassen. Dann ändert eben han-solo seine tunnels darauf. Und selbst wenn nicht alle Funktionen darüber laufen ist auch nicht ganz schlimm. Meistens will man per Fernwartung auch nicht die Welt bewegen.

Ich bin sowieso mit dem AVM-Webserver letzte Zeit nicht zufrieden. Durch ausgetauschte SSL-Libs (vermute ich) kommt es ab und zu zu einem Reboot. Jetzt hat AVM noch bei 57-Firmware das Passwort angezwungen, wenn man die Wahlhilfe verwenden will... Ich dachte schon, dass es an dem kürzlich erstellten Passwort lag, dass ich nicht über putty-tunnel drauf kam.

Ich werde es auf jeden Fall testen, wie httpd nebenbei läuft.

MfG
 
re

so jetzt im richtigen Thema :)

Also habe eben mal die Codes hier probiert, also er zeigt mir jetzt zwar fritz an, aber wenn ich passwort eingebe passiert weiter nichts. Egal ob mit Putty oder wenn ich mich eintunnel mit Openvpn. Fritz Oberfläche kommt leider nicht.
 
Übrigens, ich habe sowieso Logger am laufen und hab mir angeschaut, was dort gelogt wird:

Nach einem
Code:
ctlmgr -s && sleep 2 && httpd -p 80 -h /var/html/ && ctlmgr

passiert Folgendes:

Code:
Jun  4 19:39:24 fritz user.info ctlmgr[1634]: stopped.
Jun  4 19:39:25 fritz user.info ctlmgr[1645]: process priority is 19
Jun  4 19:39:25 fritz user.err ctlmgr[1651]: [main.c:821] **** cwd -> {/}
Jun  4 19:39:25 fritz user.info ctlmgr[1651]: FactoryDefault=/etc/default/1und1/user.cfg (user)
Jun  4 19:39:25 fritz user.err ctlmgr[1651]: load_config(user): factory default loaded
Jun  4 19:39:26 fritz user.err ctlmgr[1651]: dlopen(/usr/share/ctlmgr/libdect.so) failed: File not found
Jun  4 19:39:26 fritz user.err ctlmgr[1651]: dlopen(/usr/share/ctlmgr/libvpnstat.so) failed: File not found
Jun  4 19:39:26 fritz user.err ctlmgr[1651]: dlopen(/usr/share/ctlmgr/libmini.so) failed: File not found
Jun  4 19:39:26 fritz user.info ctlmgr[1651]: internal vcc:
Jun  4 19:39:26 fritz user.info ctlmgr[1651]:   name=voip vpi=1 vci=32 encap=1 sep_config=0 vcc=0x2aab67c0
Jun  4 19:39:26 fritz user.info ctlmgr[1651]:   name=internet vpi=1 vci=32 encap=1 sep_config=0 vcc=0x2aab67c0
Jun  4 19:39:26 fritz user.err kernel: [avm_power] : ethernet port 0 status 2
Jun  4 19:39:26 fritz user.err kernel: [avm_power] : ethernet port 1 status 1
Jun  4 19:39:26 fritz user.err kernel: [avm_power] : ethernet port 2 status 1
Jun  4 19:39:26 fritz user.err kernel: [avm_power] : ethernet port 3 status 1
Jun  4 19:39:26 fritz user.err ctlmgr[1651]: UNMAP budget,0
Jun  4 19:39:26 fritz user.err kernel: [avm_led_map_led] already map, unmap first
Jun  4 19:39:26 fritz user.err kernel: [avm_led] map failed
Jun  4 19:39:26 fritz user.err kernel: [avm_led] format error: "MAP Name,Instanz TO Name,Instanz"
Jun  4 19:39:26 fritz user.err ctlmgr[1651]: DOUBLE pppoe,0 TO info,0
Jun  4 19:39:26 fritz user.info ctlmgr[1651]: box init ok
Jun  4 19:39:26 fritz user.info ctlmgr[1651]: ipmasqfwruleex_parse ret=0 'udp 0.0.0.0:5060 0.0.0.0:5060'
Jun  4 19:39:26 fritz user.info ctlmgr[1651]: forwardrules: internal rule
Jun  4 19:39:26 fritz user.info ctlmgr[1651]: ipmasqfwruleex_parse ret=0 'tcp 0.0.0.0:22 0.0.0.0:22'
Jun  4 19:39:26 fritz user.info ctlmgr[1651]: forwardrules: internal rule
Jun  4 19:39:26 fritz user.info ctlmgr[1651]: ipmasqfwruleex_parse ret=0 'tcp 0.0.0.0:21 0.0.0.0:22'
Jun  4 19:39:26 fritz user.info ctlmgr[1651]: forwardrules: internal rule
Jun  4 19:39:26 fritz user.info ctlmgr[1651]: ipmasqfwruleex_parse ret=0 'tcp 0.0.0.0:8089 0.0.0.0:8089'
Jun  4 19:39:26 fritz user.info ctlmgr[1651]: forwardrules: internal rule
Jun  4 19:39:26 fritz user.info ctlmgr[1651]: ipmasqfwruleex_parse ret=0 'udp 0.0.0.0:5060 0.0.0.0:5060'
Jun  4 19:39:26 fritz user.info ctlmgr[1651]: forwardrules: internal rule
Jun  4 19:39:26 fritz user.info ctlmgr[1651]: ipmasqfwruleex_parse ret=0 'tcp 0.0.0.0:5060 0.0.0.0:5060'
Jun  4 19:39:26 fritz user.info ctlmgr[1651]: forwardrules: internal rule
Jun  4 19:39:26 fritz user.info ctlmgr[1651]: ipmasqfwruleex_parse ret=0 'udp 0.0.0.0:7078+32 0.0.0.0:7078'
Jun  4 19:39:26 fritz user.info ctlmgr[1651]: forwardrules: internal rule
Jun  4 19:39:26 fritz user.info ctlmgr[1651]: next auto check for firmware updates sheduled in 384347 seconds (2008-06-09 06:25:13)
Jun  4 19:39:27 fritz user.info ctlmgr[1651]: sipextra my_init
Jun  4 19:39:27 fritz user.info ctlmgr[1651]: capiotcp My_Init
Jun  4 19:39:27 fritz user.info ctlmgr[1651]: /dev/avm_power <-- MODE=dsl
Jun  4 19:39:27 fritz user.err ctlmgr[1651]: WAN (ata) led value = 0
Jun  4 19:39:27 fritz user.err ctlmgr[1651]: [../webserver/webserver.c:583] Initialisation of webserver configuration
Jun  4 19:39:27 fritz user.err ctlmgr[1651]: 0.0.0.0:80: bind failed - Address already in use (125)
Jun  4 19:39:27 fritz user.err ctlmgr[1651]: create server socket failed - Address already in use (125)
Jun  4 19:39:27 fritz user.err ctlmgr[1651]: [main.c:1158] ### Initialisation of the web server inside ctlmgr failed.
Jun  4 19:39:27 fritz user.info ctlmgr[1651]: verbose: DISABLED

Also, wenn ich es richtig besinne, verkraftet er, dass man ihm Port 80 klaut, aber es gibt einige Probleme mit anderen Diensten, wie z.B. "CAPIoverTCP". Ich weiß nicht, ob mein Fax über CAPI danach tut...

Von der Ferne hab ich es noch nicht getestet.

MfG
 
Das sollte auf CapiOverTCP und ähnliche Dineste keinen Einfluss haben, denn der ctrlmgr läuft ja ansonsten. Wobei: MAn kann AVM ja alles zutrauen ;)
 
Auch wenn es kein Beweis ist: Ein schnelles
Code:
httpd -p 82 -h /var/html/
sorgt zumindest für die Erreichbarkeit des "Fritz-WebIF" auf meiner Box auch auf Port 82 ;-)

Jörg

Das geht zwar bei mir auch ganz gut - aber über ein ssh-tunnel bleibt die Seite auch leer. Im syslog kommt es zu folgender Fehlermeldung (übrigens egal ob AVM-webserver oder busybox-httpd):

Code:
Jun 21 13:12:01 fritz-box webcm[883]: SECURITY VIOLATION -> just jump to index.html

Vielleicht mache ich irgendwas verkehrt, aber funktionierts es bei jemandem mit dem httpd?
Übrigens: Über OpenVPN habe ich vollen Zugriff auf die Fritz-AVM-Obefläche und das ohne httpd-Umweg.

Gruß
 
Bei OpenVPN bekommst Du ja eine IP die für die Fritzbox im lokalen Netzwerk liegt, daher wirds da auch gehen. Ich denke, daß die Überprüfung des Referers nicht vom websrv bzw. ctlmgr durchgeführt wird, sondern vom webcm, also dem CGI-Script, weswegen es dann auch mit dem httpd nicht gehen sollte. Was man probieren kann, ist, die URL des Frame-Inhalts direkt aufzurufen (http://fritz.box//cgi-bin/webcm). Dann sollte auch kein REFERER gesetzt sein.
 
Danke für die Antwort. Leider führt der direkte Aufruf zum gleichen negativen Ergebnis, also Seite leer mit obiger Fehlermeldung.

Gruß
 
Kostenlos!

Statistik des Forums

Themen
248,914
Beiträge
2,304,878
Mitglieder
378,621
Neuestes Mitglied
Ansh