Alexander (HH): SessionID faken

Beitrag lesen

Moin Moin!

IP-Adresse: Sofern sich diese nach einem Login nicht ändert, könnte die außer dem SK den Endrechner identifizieren, zumindest für die Dauer einer Session. Sind Proxyserver im Spiel, könnte es sein, dass sich die IP-Adresse noch innerhalb einer Session ändert (round robin-Proxies) oder dass mehrere User mit dergleichen IP-Adresse, nämlich mit der des Proxies vertreten sind. Hier wäre die Variable HTTP_X_FORWARDED_FOR von Interesse, die auf einem Proxy (squid) gesetzt werden sollte und die IP-Adresse des eigentlichen Requesters durchreicht.

Es war lange Zeit so, dass AOL-User für jeden Request über einen anderen Proxy geleitet wurden. Ich weiß nicht, ob das immer noch so ist, aber wenn man eine konstante IP-Adresse während einer Session voraussetzt, wird man konstant Ärger mit AOL-Usern haben, die sich nicht anmelden können.

Der X-Forwarded-For-Header kann natürlich beliebig gefälscht werden, und nicht jeder Proxy fügt diesen Header ein. Ich halte diesen Header für sehr problematisch, weil er Informationen über das eigentlich geschützte Netzwerk hinter dem Proxy preisgibt. Wenn man sich darauf einläßt, X-Forwarded-For zu prüfen, dann sollte man tunlichst darauf achten, dass der Header von Anfang an da ist. Sonst könnte ein Angreifer die gesamte IP-Adressen-Prüfung aushebeln, einfach indem er einen X-Forwarded-For-Header mitschickt.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".