Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(In)security allgemein Sicherheit, Anonymität im Netz. Schutz und Maßnahmen. Prävention und Konzepte. Sicherheitsarchitekturen allgemein und auf der Netzwerkebene.

X-Forwarded-For und Cookies

Diskussion: X-Forwarded-For und Cookies im Forum (In)security allgemein, in der Kategorie Security Area; Anzeige Tag zusammen, ich teste zur Zeit ein wenig rum mit Cookies in einem phpBB Board. Dabei ist mir aufgefallen, ...

Like Tree2Likes
  • 2 Post By beavisbee

Antwort
Alt 27.06.11, 13:29   #1 (permalink)
 
Registriert seit: 03.04.11
Tsjuder Leistung: 8086
Likes: 10
Standard X-Forwarded-For und Cookies

Anzeige

Tag zusammen,
ich teste zur Zeit ein wenig rum mit Cookies in einem phpBB Board. Dabei ist mir aufgefallen, dass man mit einer neuen IP auch ausgeloggt ist also hab ich mir mal die Daten angeguckt die dabei verschickt werden. Der Browser sendet natürlich noch die Cookies die die Session identifizieren, dass scheint den Server aber nicht zu interessieren. Mir ist beim rumexperimentieren aufgefallen, dass der User-Agent wohl auch eine Rolle spielt. Dann hab ich gelesen, dass der Server wohl einen IDHash anlegt der abhängig vom User-Agent + IP ist. Die IP kann man jetzt schlecht spoofen, da sonst die Pakete vom Server ins Nirvana geschickt werden. Dann hab ich gelesen, dass es wohl mit einem X-Forwarded-For im Header gehen könnte. Also hab ich einfach dem Paket vorm abschicken ein X-Forwarded-For hinzugefügt indem als erstes die alte IP von mir steht und als Proxy meine neue. Muss man dabei noch was beachten oder werten nicht alle Server/Boards den X-Forwarded-For im Header aus? Der Server soll durch das Paketa denken, dass ich das ganze von meiner alten IP aus gesendet habe, so dass ich immer noch eingeloggt bin.

P.S: Klar kann ich mich einfach neu einloggen, aber es ist eine Frage der Interesse und der Sicherheit.

Tsjuder ist offline   Mit Zitat antworten
Alt 27.06.11, 14:02   #2 (permalink)
Member of Honour
 
Benutzerbild von beavisbee
 
Registriert seit: 22.02.07
beavisbee Leistung: Pentium IIIbeavisbee Leistung: Pentium IIIbeavisbee Leistung: Pentium IIIbeavisbee Leistung: Pentium III
beavisbee eine Nachricht über ICQ schicken
Likes: 77
Standard

Schöne Idee, aber wenn du das Problem mal aus dem Blickwinkel eines Software-Entwicklers betrachtest, wirst du feststellen, dass deine X-Forwarded-For-Spielereien nichts bringen...

Ausgewertet werden - die Vermutung stelle ich jetzt, ohne den phpBB-Code anzuschauen, einfach mal in den Raum, da es die geläufigste Variante ist - die Daten $_SERVER['REMOTE_ADDR'] und $_SERVER['USER_AGENT']...

In $_SERVER['USER_AGENT'] steht die Browser-Kennung
(das lässt sich ja noch manipulieren...)

In $_SERVER['REMOTE_ADDR'] steht die IP-Adresse des anfragenden Rechners - und die lässt sich nicht manipulieren.

Wenn du über einen Proxy surfst, dann steht dort die IP des Proxys drin.

Die X-Forwarded-For-Daten stehen in $_SERVER['HTTP_X_FORWARDED_FOR'] und werden entweder zusätzlich für den Hash verwendet oder einfach ignoriert.

Ob $_SERVER['HTTP_X_FORWARDED_FOR'] mitbenutzt werden, bekommst du heraus, indem du über einen Proxy surfst und zwischendurch dich neu einwählst, aber weiterhin über den gleichen Proxy surfst.
throjan and CDW like this.
beavisbee ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 27.06.11, 14:30   #3 (permalink)
Themenstarter
 
Registriert seit: 03.04.11
Tsjuder Leistung: 8086
Likes: 10
Standard

Zitat:
Zitat von beavisbee Beitrag anzeigen
In $_SERVER['REMOTE_ADDR'] steht die IP-Adresse des anfragenden Rechners - und die lässt sich nicht manipulieren.
Das man die IP nicht einfach manipulieren kann schrieb ich selber bereits ;-).

Es war jedoch ein Beitrag bei gulli der darauf hinwies und dort las ich es sich so, als ob der Server dann dort einfach die Adresse aus dem X-Forwarded-For nehmen würde. Ich zitiere einfach mal Kugelfisch ausm gulli Board:
Zitat:
Der IP-Check hilft allerdings kaum, das Übernehmen von Sessions durch einen Angreifer, der deinen Traffic mitschneiden kann, zu verhindern, da dieser (wenn er nicht ohnehin unter deiner IP-Adresse agieren kann) schlicht einen falschen X-Forwarded-For-Header setzen könnte und vBulletin diesem vertraut.
Also stimmt es an für sich gar nicht was er dort geschrieben hat?

Ich hätte das ganze jetzt nämlich soweit interpretiert, dass wenn man über einen Proxy reingeht der X-Forwarded-For Eintrag im Header mit der Orginal Client-IP drin steht und diese IP wird dann benutzt damit die Session nicht auf den Proxy "registriert" wird, sondern auf den tatsächlichen Clienten. Könnte es das nicht zusätzliche Gefahren bringen, wenn die Sessions dann auf der IP des Proxys laufen? Wenn jemand die Cookies mitsniffen könnte bräuchte er dann nur noch den selben Proxy zu benutzen, es sei denn wie von dir angesprochen der X-Forwarded-For Eintrag wird mitbenutzt. Aber OK, dass ganze ist sowieso mehr theoretisch, da praktisch ein Angreifer meistens sowieso über die gleiche IP surfen kann, wenn er den Traffic schon mitsniffen kann.

BTW: Wenn ich über einen Proxy eine Seite Aufrufe steht doch auch in $_SERVER['REMOTE_ADDR'] wohl die Adresse des Proxys oder? Für die Orginal IP gibts dann eben dieses X-Forwarded-For Feld im Header.

EDIT: Fast das wichtigste vergessen: Vielen Dank schonmal!
Tsjuder ist offline   Mit Zitat antworten
Alt 27.06.11, 15:52   #4 (permalink)
Member of Honour
 
Benutzerbild von beavisbee
 
Registriert seit: 22.02.07
beavisbee Leistung: Pentium IIIbeavisbee Leistung: Pentium IIIbeavisbee Leistung: Pentium IIIbeavisbee Leistung: Pentium III
beavisbee eine Nachricht über ICQ schicken
Likes: 77
Standard

Zitat:
Zitat von Tsjuder Beitrag anzeigen
Es war jedoch ein Beitrag bei gulli der darauf hinwies und dort las ich es sich so, als ob der Server dann dort einfach die Adresse aus dem X-Forwarded-For nehmen würde.
[...]
Zitat:
Zitat von Tsjuder Beitrag anzeigen
Also stimmt es an für sich gar nicht was er dort geschrieben hat?
In dem von dir zitierten Beitrag ging es um vBulletin - gut möglich, dass es dort wiederum ganz anders gehandhabt wird...
Oder er hat sich einfach nur dämlich ausgedrückt... oder tatsächlich einfach Mist erzählt... wer weiß.

Zitat:
Zitat von Tsjuder Beitrag anzeigen
Ich hätte das ganze jetzt nämlich soweit interpretiert, dass wenn man über einen Proxy reingeht der X-Forwarded-For Eintrag im Header mit der Orginal Client-IP drin steht und diese IP wird dann benutzt damit die Session nicht auf den Proxy "registriert" wird, sondern auf den tatsächlichen Clienten.
Zitat:
Zitat von Tsjuder Beitrag anzeigen
BTW: Wenn ich über einen Proxy eine Seite Aufrufe steht doch auch in $_SERVER['REMOTE_ADDR'] wohl die Adresse des Proxys oder? Für die Orginal IP gibts dann eben dieses X-Forwarded-For Feld im Header.
richtig. aber anstatt zu interpretieren oder zu mutmaßen... einfach mal selbst testen! ;-)
lade einfach mal folgendes PHP-Script auf deinen Webspace:
PHP-Code:
<?php
echo '<pre>';
print_r($_SERVER);
echo 
'/<pre>';
oder
PHP-Code:
<?php
var_dump
($_SERVER);
jetzt gehst du ganz normal mit dem Browser drauf und findest als Ausgabe unter anderem ein Feld "REMOTE_ADDR", welches deiner IP entspricht.

Als nächstes suchst du dir auf einer dieser unzähligen Proxy-Listen-Seiten (z.B. hier) einen transparenten Proxy und aktualisierst die Seite...

unter "REMOTE_ADDR" findest du die IP des Proxy-Servers, unter "HTTP_VIA" findest du HTTP-Protokoll-Version und Proxy-IP, unter "HTTP_X_FORWARDED_FOR" findest du deine eigene IP-Adresse.

( quod erat demonstrandum ;-) )


Zum Schluss nimmst du einen anonymen Proxy.
Hier wirst du feststellen, dass "HTTP_VIA" und "HTTP_X_FORWARDED_FOR" nicht mehr vorhanden sind. In "REMOTE_ADDR" findest du entweder die IP des Proxy-Servers oder - gerade bei anonymen Proxys - eine ganz andere IP, welche sich auch immer mal ändert... dann hängst du nämlich in einer Proxy-Kaskade - da sind also mehrere Proxy-Server hintereinander geschalten und du wirst immer mal über einen anderen weitergeleitet.


Fazit für den Proxy-Nutzer und für den Angreifer:
Zitat:
Zitat von Tsjuder Beitrag anzeigen
Könnte es das nicht zusätzliche Gefahren bringen, wenn die Sessions dann auf der IP des Proxys laufen?
Ja - wenn man über den gleichen Proxy geht, die Session-ID abgefangen hat (muss ja nichtmal mitgesnifft sein... gibt ja genügend andere Wege, an die Session-ID zu kommen...) und auch noch die Browser-Kennung des Opfers kennt und den eigenen Browser dementsprechend manipuliert, ist 'ne Session ganz schnell mal entführt...

Fazit für den Webseiten-Betreiber:
Es gibt mit USER_AGENT, REMOTE_ADDR, HTTP_VIA und HTTP_X_FORWARDED_FOR jede Menge Daten, welche sich nutzen lassen, um Sicherheits-Mechanismen einzubauen.
Diese Sicherheits-Mechanismen sorgen natürlich immer auch dafür, dass User ausgeschlossen werden.

Neben diesen Methoden gibt es auch noch andere Sicherheits-Maßnahmen:
  • Session-ID alle X Minuten automatisch ändern
  • Bei sämtlichen Requests einen Token verlangen
  • Seite komplett auf HTTPS erzwingen und die Cookies dann auch nur für HTTPS zulassen
  • u.s.w.


Die Maßnahmen haben alle Vor- und Nachteile und man sollte immer entsprechend des Klientel entscheiden, welche Maßnahmen nötig sind, welche bedenkenlos möglich sind und welche Maßnahmen einen großen Anteil der Nutzer ausschließen.

Bei einem Online-Shop z.B. ist mir die Sicherheit meiner Kunden wichtig - entweder beim IP-Wechsel fliegt man, oder die Anzahl der IP-Wechsel wird zumindestens begrenzt (meinetwegen auf 1 Wechsel pro Stunde), auf dass es nicht möglich ist, mit 2 verschiedenen IPs gleichzeitig in ein und der selben Session zu surfen.

Bei einem Forum für anonyme Alkoholiker dagegen ist die Wahrscheinlichkeit, dass jemand wirklich anonym surfen will, schon wesentlich höher und man könnte mit der IP-Sperre schnell sein Publikum aussperren...

Zitat:
Zitat von Tsjuder Beitrag anzeigen
EDIT: Fast das wichtigste vergessen: Vielen Dank schonmal!
Bitte bitte, nix zu danken.
beavisbee ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Security Area » (In)security allgemein » X-Forwarded-For und Cookies
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61