FHEM Forum

FHEM => Sonstiges => Thema gestartet von: Jackson am 28 Februar 2017, 22:17:47

Titel: [gelöst]FHEM 5.8 und csrfToken
Beitrag von: Jackson am 28 Februar 2017, 22:17:47
Nabend,

ich habe nun auf FHEM 5.8 aktualisiert. Nun bekomme aber folgendes ins Log

FHEMWEB WEB CSRF error:  ne fhem_48878403877029.3. For detals see the csrfToken FHEMWEB attribute

Das habe ich nun unterbunden, indem ich csrfToken über FHEMWEB auf 'none' gesetzt habe. Alexa oder ähnliche Dienste nutze ich nicht.

In der Freigabemitteilung https://forum.fhem.de/index.php/topic,67419.0.html (https://forum.fhem.de/index.php/topic,67419.0.html) war ja folgendes zu lesen:

Zitat

- csrfToken: dieses FHEMWEB Attribut verhindert CSRF Angriffe, indem alle FHEMWEB-Aufrufe, die einen FHEM Befehl ausfuehren, das Token spezifizieren muessen.
Fuer Benutzer bedeutet das ein Neuladen der FHEMWEB-Seite in Browser nach jedem FHEM-Neustart.
Fuer (verschlafene) Frontend-Modulentwickler: Der nach jedem FHEMWEB-Start zufaellig generierte Token wird im <body> als Attribut oder im HTTP-Header hinterlegt, und muss als fwcsrf Parameter angegeben werden.
Man kann es aber auch abschalten oder statisch konfigurieren.


Aber irgendwie erschließt das für mich nicht.  :o ??? Kann mir da einer helfen, worum es um bei dem Token geht.

Danke im Voraus
Titel: Antw:FHEM 5.8 und csrfToken
Beitrag von: CoolTux am 28 Februar 2017, 22:27:23
Irgendeine ThirdPart Anwendung greift auf Deine Webinstanz zu. Welche oder was genau das kannst nur Du wissen.
TabletUI oder ein anderes Frontend (Dashboard).
Tasker auf Android oder etwas ähnliches.
Titel: Antw:FHEM 5.8 und csrfToken
Beitrag von: betateilchen am 28 Februar 2017, 22:40:21
Zitat von: Jackson am 28 Februar 2017, 22:17:47
Aber irgendwie erschließt das für mich nicht.  :o ??? Kann mir da einer helfen, worum es um bei dem Token geht.

https://de.wikipedia.org/wiki/Cross-Site-Request-Forgery
Titel: Antw:FHEM 5.8 und csrfToken
Beitrag von: CoolTux am 28 Februar 2017, 22:44:50
Frage mich gerade wie oft und wie lange noch danach gefragt wird. Es gibt mehr wie 7 Threads im Forum nur um CSRF Token und irgendwelchen Problemen. Dabei wurde allein im roten Link oben rechts und in den darin verlinkten Seiten schon alles geklärt. Aber niemand mag das lesen.
Titel: Antw:FHEM 5.8 und csrfToken
Beitrag von: betateilchen am 28 Februar 2017, 22:54:11
Zitat von: CoolTux am 28 Februar 2017, 22:44:50
Aber niemand mag das lesen.

was erwartest Du aber auch...
Titel: Antw:FHEM 5.8 und csrfToken
Beitrag von: Jackson am 01 März 2017, 09:22:09
Zitat von: CoolTux am 28 Februar 2017, 22:44:50
Frage mich gerade wie oft und wie lange noch danach gefragt wird. Es gibt mehr wie 7 Threads im Forum nur um CSRF Token und irgendwelchen Problemen. Dabei wurde allein im roten Link oben rechts und in den darin verlinkten Seiten schon alles geklärt. Aber niemand mag das lesen.

Na, na nicht gleich so rum meckern. Die Suche im Forum habe ich sehr wohl bemüht. Ob es 7 Threads im Ergebnis waren, dass mag sein. Im Ergebnis hat mir die Antwort aber nicht gereicht. Auch die Erklärung der Freigabemitteilung oben rechts nicht. Und irgendein Thread zu wählen wo das Wort 'csrfToken' mal aufgetaucht ist, im irgendeinem Zusammenhang, der mir nicht hilft, lag mir auch fern. Zumal man in der Version 5.7 damit auch nicht konfrontiert wurde.

Zitat von: CoolTux am 28 Februar 2017, 22:27:23
Irgendeine ThirdPart Anwendung greift auf Deine Webinstanz zu. Welche oder was genau das kannst nur Du wissen.
TabletUI oder ein anderes Frontend (Dashboard).
Tasker auf Android oder etwas ähnliches.

Wie kann ich denn nun die ThirdPart-Anwendungen autorisieren? Denn das wird's nämlich sein, der Zugriff über http://.../fhem?cmd= ging nämlich nicht mehr.

Oder ist hier die Lösung auf csrfToken auf 'none' zu setzen? Das lässt sich nämlich nur erahnen aus dem 3 Eintrag von justme1968 in der Freigabemitteilung.

Danke schonmal vorab.

Titel: Antw:FHEM 5.8 und csrfToken
Beitrag von: CoolTux am 01 März 2017, 09:28:40
Um Dir hier helfen zu können muss man erstmal wissen wie/wo/womit Du den URL Aufruf durch führst.

Aus einem batch Script raus könnte das helfen

curl "http://localhost:8083/fhem?cmd=set%20Office%20on&XHR=1&fwcsrf"`curl -s -D - 'http://localhost:8083/fhem&XHR=1' | awk '/X-FHEM-csrfToken/{print $2}'`
Titel: Antw:FHEM 5.8 und csrfToken
Beitrag von: Jackson am 01 März 2017, 10:51:06
Ich setze den Befehl in der Form ab

curl http://localhost:8083/fhem?cmd=setreading%20OUT.Bewegung%20current_file%20test

Ich probiere es heute abend mal mit dem Zusatz

&XHR=1&fwcsrf

aus und melde mich dann wieder.
Titel: Antw:FHEM 5.8 und csrfToken
Beitrag von: laberlaib am 01 März 2017, 14:31:34
Also ich fande den Hinweise mit dem "API-FHEMWEB" sehr nützlich (weiss nicht mehr, in welchem Thread das genannt wurde):
Zitat
Oder man definiert eine "API" FHEMWEB-Instanz, mit gesetzten allowfrom, und csrfToken none

Und wie man das allowfrom richtig macht:
https://forum.fhem.de/index.php?topic=23994.0
Titel: Antw:FHEM 5.8 und csrfToken
Beitrag von: CoolTux am 01 März 2017, 14:34:05
Das kam von Rudi

https://forum.fhem.de/index.php/topic,68133.msg596011.html#msg596011




Grüße
Titel: Antw:FHEM 5.8 und csrfToken
Beitrag von: Jackson am 01 März 2017, 20:23:17
Zitat von: CoolTux am 01 März 2017, 14:34:05
Das kam von Rudi

https://forum.fhem.de/index.php/topic,68133.msg596011.html#msg596011

Grüße

Ok, Asche über mein Haupt.  :-[ Den Thread hätte ich eigentlich gestern finden müssen. Naja war schon spät:P