Cookie von anderem Server auslesen?
Benrd K.
- webserver
Hallo!
Besucher Bernd ruft eine Seite von Server A auf, dort wird ein Login-Formular dargestellt. Das Formular postet an Server B, wo User/Passwort gecheckt werden und leitet wieder auf Server A weiter.
Frage: kann ich auf dem Prüf-Server dem Bernd ein Cookie setzen, das dann vom Server A, wo die Sitzung weitergeht, ausgelesen wird?
Danke,
Bernd
hi,
Frage: kann ich auf dem Prüf-Server dem Bernd ein Cookie setzen, das dann vom Server A, wo die Sitzung weitergeht, ausgelesen wird?
Nein.
gruß,
wahsaga
Danke wahsaga!
Ja, dachte ich mir fast. Muß die gleiche Domäne sein, gell? Ist ja auch OK so. Nun, wie könnte ich dem Server A aber trotzdem (möglichst vom User Bernd unbemerkt, also z.B: Weiterleitung mit GET-Parametern) etwas mitgeben, damit der weiß, daß der Benrd OK ist?
Danke,
Bernd
hi,
Nun, wie könnte ich dem Server A aber trotzdem (möglichst vom User Bernd unbemerkt, also z.B: Weiterleitung mit GET-Parametern) etwas mitgeben, damit der weiß, daß der Benrd OK ist?
"Unbemerkte" Übetragung von Daten gibt es im Umfeld von HTTP (so gut wie) nicht.
Übertrage also die Information so, dass sie nicht manipulierbar ist.
Z.B., in dem du den Namen Bernd im Klartext übergibst, und dazu noch einen Hash (bspw. MD5) von "Bernd" plus "geheimer String, der nur Server A und Server B bekannt ist".
gruß,
wahsaga
Z.B., in dem du den Namen Bernd im Klartext übergibst, und dazu noch einen Hash (bspw. MD5) von "Bernd" plus "geheimer String, der nur Server A und Server B bekannt ist".
Ja, das ist eine gute Idee!
Danke,
Bernd
Hallo,
Z.B., in dem du den Namen Bernd im Klartext übergibst, und dazu noch einen Hash (bspw. MD5) von "Bernd" plus "geheimer String, der nur Server A und Server B bekannt ist".
Mist! Da warst Du wieder schneller.
Gruß aus Berlin!
eddi
Hallo Benrd,
Frage: kann ich auf dem Prüf-Server dem Bernd ein Cookie setzen, das dann vom Server A, wo die Sitzung weitergeht, ausgelesen wird?
Nein.
um Dein Problem dennoch zu lösen, gehe wie folgt vor:
Sagen wir Server A kann durch Session-Cookies einen Client über die Transaktion zwischen Server B und Client eindeutig identifizeren. Dann setze in Dein Formular einen zufällig und immer wieder neu generierten Wert in ein Eingabefeld vom Typ hidden, der auch in der Session eingelagert wird.
Server B wird diesen Wert mit einem nur Server A und Server B bekannten (Schlüssel)-Wert verkoppelt und aus Zufallswert (von Server A) und Schlüsselwert einen Hash bilden.
Hat der Client sich erfolgreich an Server B authentifiziert, wird er unter angabe dieses Hashs in Form einer GET-Variable wieder zurückverwiesen.
Server A kann nun anhand des gleichen Schlüsselwerts, der auch diesem Server vorliegen muß, und des in der Session vermerkten Zufallswert den vom Client angelieferten Hash validieren. Dadurch, daß es ein Hash ist, wird vermieden, daß der unbefugte Zugang auf Server A durch erraten oder Auslesen von Verkehr erlangt werden kann
Dieses verfahren wird auch nochmal detailiert unter Simple Authentication and Security Layer beschreiben.
Gruß aus Berlin!
eddi
Danke eddi!
Ja, das hört sich gut an und ist auch nicht kompliziert. Viell. mache ich das auch noch mit SSL gewürzt.
Danke,
Bernd