Heute geht es in meinem Blog um den klassischen Referer, den HTTP_REFERER. Unter dem Referer versteht man einen Wert der vom Browser an den Zielserver gesandt wird, wenn man einen Link klickt, genauer gesagt handelt es sich dabei um die letzte besuchte Seite.
Für den Webmaster Segen auf der einen Seite, für den Datenschützer Graus auf der anderen Seite. Ein Referer wird nicht nur beim anklicken eines Links gesendet sondern auch wenn ein Bild von einer externen Webpage eingebunden wird, was unter anderem bei dem schwach frequentierten Argovia Chat zu einem gravierenden Sicherheitsproblem führen kann. Denn durch eine Sicherheitslücke lassen, sich externe Bilder in den Chat einbauen, und somit kann ein Script Kiddie, entweder eine als gif getarnte PHP-Datei in den Chat einbinden, und alle Referers mitloggen oder gleich das Log File seines Servers anschauen, wenn er denn Zugriff hat. Das wirklich gefährliche am Argovia Chat ist nämlich, dass dieser den Benutzernamen und das Passwort im Klartext in der Url überträgt. Auf einem Blick präsentieren sich ihm nun Namen, Passwörter und IP- Adressen aller am Chat-Beteiligten. Doch die Herren von Argovia waren ungefähr ähnlich Ignorant, wie diese Beispiel hier, als wir (Corinne, ich und andere) ihnen wiederholt diverseste Sicherheitslücken in der Chat Software aufgezeigt hatten.
Alle Benützer des Webmail von Bluewin und Bluemail hinterlassen ihre email Adresse in dem Referer, eigentlich nicht so schlimm, ausser man will unbekannt, unerkannt bleiben und keinen Spam erhalten.
Die Forensoftware phpBB2 erlaubt es den Benutzer als Ganze zu übernehmen,solange dieser online ist und nur falls er die Authentifikation über ein Cookie ausgeschaltet hat. Diese Problem habe ich vor einiger Zeit kurzerhand Referer Race Condition (RRC) getauft in Anlehnung an die klassische Race Condition.
Das ist eigentlich eher kein Problem der Webapplikationen als Solches, aber die Implikationen sind es natürlich.
Um den Referer im Firefox den Referer auszuschalten, muss man about:config in die Adressleiste eingeben und Enter drücken, anschliessend zum Wert network.http.sendRefererHeader gehen und sein Wert wie folgt verändern:
0 - kein Referer senden
1 - Den Referer nur bei Webseiten senden
2 - (Standard) Den Referer bei Webseiten sowie Bilder senden
Meine Empfehlung ist es grundsätzlich die Refererübertragung auszuschalten (0).
Eine Empfehlung für Webapplikationen ist es Forwarderseiten zu erstellen, so das externe Links nicht direkt aufgerufen werden können. (Sofern man von seinen Usern nicht verlangen kann, die Referers auszuschalten oder einen modifizierten Browser zu verwenden, was innerhalb von Banken, Versicherungen und Sicherheitsunternehmen sicher sinnvoll ist.) Diese sollten allerdings zeitlich begrenzt sein, oder besser es sollten nur Webseiten weitergeleitet werden, welche in einer Datenbank abgespeichert sind. Sonst lassen sich solche Referers erstellen:
http://www.mary-kateandashley.com/leaving.php?http://live.rootquest.com
Hinweis: Mary-Kate and Ashley Olsen sind amerikanische Zwillinge, welche ein Vermögen von ungefähr einer Milliarde aufgebaut haben.
Kommentare
Mo, 08.10.2007 09:26
Stop your foreclosure now. Our team will help you get rid of [...]
Di, 25.09.2007 21:53
Hi Saubere Arbeit! Jetzt stellt sich nur noch die Frage, [...]