# URL-Hijacking

URL-Hijacking ist die Entführung einer Domain aus dem Index verschiedener Suchmaschinen. Dieses Problem basiert auf einem Missverständnis zwischen einer Website und einer Suchmaschine hinsichtlich (insbesondere dynamisch generierter) Weiterleitungen. Die Folgen für die gehijackte Seite sind fatal: Sie taucht in den Suchergebnissen nicht mehr auf und bekommt keine Besucher mehr über entsprechende Suchmaschinen.

## Technischer Hintergrund
### Problematik der permanenten und temporären Weiterleitungen

Im Internet gibt es verschiedene Möglichkeiten, Anfragen an eine bestimmte Adresse an eine andere Adresse weiterzuleiten. Ein Beispiel: Ruft man https://de.wikipedia.org/ auf, so wird man auf https://de.wikipedia.org/wiki/Wikipedia:Hauptseite weitergeleitet. Solche Weiterleitungen verfolgen unterschiedlichste Ziele, beispielsweise seien genannt:
* Dauerhafte Weiterleitung auf die korrekte Adresse der Hauptseite (wie im genannten Beispiel).
* Dauerhafte Weiterleitung auf die korrekte Domain bei Tippfehlern (Beispiel: googel.de → google.de) oder nach einem Domainwechsel/Umzug.
* Dauerhafte Weiterleitung, wenn Inhalte einen neuen Dateinamen bekommen haben (Beispiel: /home.html heißt ab jetzt /index.html).
* Vorübergehende Weiterleitung, wenn Inhalte zunächst unter einer anderen Adresse, in Zukunft aber wieder unter der aufgerufenen oder möglicherweise einer ganz anderen Adresse zu finden sind.
Für die beiden Haupttypen solcher Weiterleitungen (dauerhaft, „permanent“ genannt, und vorübergehend, „temporär“ genannt) wurden in HTTP 1.0 zwei HTTP-Statuscodes definiert: 301 (Moved Permanently) für permanente Weiterleitungen und 302 (Found) für temporäre Weiterleitungen. Eine dritte Möglichkeit stellt die Weiterleitung über einen sogenannten Meta-Refresh dar, aus dem nicht ersichtlich ist, ob es sich um eine permanente oder temporäre Weiterleitung handelt.
Suchmaschinen halten sich meist genau an die Definitionen des HTTP-Standards. Verweist Adresse A also mittels einer permanenten Weiterleitung auf Adresse B, so geht die Suchmaschine davon aus, dass die Inhalte in Zukunft immer unter Adresse B zu finden sind. Folglich wird Adresse B in den Index der Suchmaschine aufgenommen, während Adresse A aus diesem gelöscht (bzw. nicht aufgenommen) wird. In aller Regel ist dies auch der gewünschte Effekt. Problematisch hinsichtlich URL-Hijacking ist die zweite Variante. Verweist Adresse A mittels einer temporären Weiterleitung auf Adresse B, so gehen die Suchmaschinen davon aus, dass die Inhalte momentan unter Adresse B zu finden sind, in Zukunft aber (wieder) unter Adresse A. Folglich wird Adresse A in den Index der Suchmaschine aufgenommen, Adresse B wird gelöscht oder gar nicht erst aufgenommen. Dieser Effekt ist gewünscht wenn die Inhalte tatsächlich nur vorübergehend eine andere Adresse haben (siehe Punkt 4 in der Liste oben), jedoch unerwünscht wenn Adresse B die eigentlich korrekte ist.

### Technik des URL-Hijacking

Temporäre Weiterleitungen stellen in dem Moment ein Problem dar, in welchem dieser „vorübergehende Adresswechsel“ nicht den Tatsachen entspricht. Verweist Adresse A mit einer temporären Weiterleitung auf Adresse B, obwohl beide Adressen nichts miteinander zu tun haben (beispielsweise gehört Adresse A zu einem Webverzeichnis, Adresse B ist eine dort eingetragene Website), so nehmen Suchmaschinen an, dass Seite B irgendwann wieder unter Adresse A erreichbar sein wird, denn Suchmaschinen können weder erkennen, um welchen Typ von Website es sich handelt (ein Verzeichnis), noch, dass hier eine falsche Art der Weiterleitung verwendet wurde.

## Beispiel

Das folgende Beispiel erläutert aus Sicht der Suchmaschine, warum eine gehijackte Adresse aus dem Index entfernt wird.
* Die Suchmaschine indexiert Website A
* Sie stößt auf einen Link zur Seite A1
* Sie ruft A1 auf und erhält die Antwort, dass es sich um eine temporäre Weiterleitung auf Seite B1 handelt
* Sie wird die Adresse von A1 speichern, da dies die vermeintlich korrekte Adresse ist
* Sie wird B1 aus ihrem Index entfernen, da die Seite dort vermeintlich nur vorübergehend erreichbar ist

## Fehler oder Standard-Konformität?

Dass URL-Hijacking überhaupt möglich ist, wird oft als Programmfehler in den Suchmaschinen bezeichnet. RFC 2616 schreibt in Section 10.3.3 jedoch vor:
   “Since the redirection might be altered on occasion, the client SHOULD continue to use the Request-URI for future requests. This response is only cacheable if indicated by a Cache-Control or Expires header field.”
   „Da die Weiterleitung gelegentlich geändert werden kann, sollte der Client [hier: die Suchmaschine] für zukünftige Anfragen weiterhin den Request-URI [also die ursprüngliche Adresse] verwenden. Diese Antwort [also die neue Adresse] kann nur zwischengespeichert werden, falls dies durch einen Cache-Control- oder Expires-Header-Feld angegeben ist.“
Folglich handeln Suchmaschinen eigentlich standard-konform, da sie davon ausgehen müssen, dass es sich bei der aufgerufenen Adresse tatsächlich um eine veraltete Adresse handelt. Trotzdem handelt es sich um eine Sicherheitslücke in der Suchmaschine, da Webmaster Einfluss auf fremde Websites nehmen könnten.

## Auslöser

Es gibt verschiedene Gründe, warum Webmaster Weiterleitungen auf fremde Inhalte erstellen, statt direkt zu verlinken. Das Weiterleitungs-Programm (der Dereferrer) kann verschiedene Aufgaben übernehmen, zum Beispiel die Klicks auf den entsprechenden Link zählen oder sicherheitsrelevante Informationen wie Sitzungs-ID der aktuellen Website verschleiern.
Gefährlich sind insbesondere dynamische Links, die man zumeist an einem „?“ in der URL erkennen kann (z. B. http://www.example.com/?id=12345) und die aus entsprechenden Datenbanken generiert werden. Die populäre Skriptsprache PHP verwendet, sofern der Programmierer nicht explizit einen Statuscode angibt, standardmäßig 302-Weiterleitungen. Von der Suchmaschine Yahoo ist bekannt, dass sie einen Meta-Refresh als 301-Weiterleitung wertet, wenn die Weiterleitungsverzögerung nur sehr kurz ist, bei längeren Verzögerungen wird 302 angenommen.
Vielen Webmastern ist nicht bewusst, dass sie selbst solche Weiterleitungen verwenden und somit anderen Seiten elementaren Schaden zufügen können. Bei einigen Fällen von Hijacking werden die Weiterleitungen aber auch mit Absicht missbräuchlich eingesetzt, wodurch die Originalseite an Rankings verlieren kann oder sogar aus dem Index verschwindet. Dieses Vorgehen ist besonders typisch für sogenanntes Black Hat SEO. Auf diesem Wege soll die eigene Website im Ranking der Suchmaschine steigen. Derartige Hijacking-Praktiken zählen als kriminelle Handlung und können geahndet werden.
Ein Hijacking ist umso wahrscheinlicher, je höher der PageRank der verlinkenden Website im Vergleich zur „Opferseite“ ist. Ein hoher PageRank erhöht die Vertrauenswürdigkeit der linkenden Website, sodass Suchmaschinen davon ausgehen, dass die Standards richtig angewandt wurden und es sich tatsächlich um eine vorübergehende Adressänderung handelt. Weiterhin wird die Website mit dem höheren PageRank als relevanter angesehen und bleibt daher ohnehin im Index.

## Lösungsansätze

* Ob eine URL Opfer von URL-Hijacking ist, lässt sich durch eine Site-Abfrage (site:meine-seite.de) bei der betroffenen Suchmaschine ermitteln. Bei dieser wird die Hijacking-Seite angezeigt. Eine weitere Möglichkeit ist eine Cacheabfrage (cache:http ///www.meine-domain.de)./ Auch hier wird die Hijacking-Seite anstatt der ursprünglichen Domain angezeigt.
* In HTTP 1.1 wurde der zusätzliche Statuscode 307 (Temporary Redirect) eingeführt. Dieser kennzeichnet temporäre Weiterleitungen, bei denen die alte Adresse weiterhin gültig bleibt.
* Webmaster, die selbst Weiterleitungen verwenden, sollten – sofern sie auf Fremdinhalte weiterleiten und es wirklich nötig ist, überhaupt eine Weiterleitung zu benutzen – immer mittels des Statuscodes 301 Moved Permanently weiterleiten, um versehentliches URL-Hijacking zu vermeiden. Weiterleitungen, die durch ein Content-Management-System (CMS) automatisch generiert werden, sollten mittels eines Dienstes wie Web-Sniffer entsprechend geprüft werden. Ist eine Weiterleitung nicht zwingend notwendig, so ist ein gewöhnlicher Link in der Regel die bessere Wahl.
* Betroffene Webmaster sollten den hijackenden Webmaster kontaktieren und ihn auf den Fehler hinweisen.
* Gegebenenfalls kann der betroffene Webmaster die Betreiber der Suchmaschine kontaktieren und um Wiederaufnahme bitten.

## Ähnliche Formen

Eine ähnliche Variante des URL-Hijackings wird vornehmlich von Erotik-Websites vorgenommen. So kann es geschehen, dass Menschen zu ihrem Namen in der Suchmaschine Google in Verbindung mit pornografischem Material gebracht werden. In den Suchergebnissen wird meist ein Inhalt mit dem Namen der Person als auch eine spezifische URL angezeigt. Beim Klick auf die Webseiten gelangt man jedoch nicht auf die vermeintlichen Inhalte zu dieser Person, sondern wird zumeist auf Übersichts- oder Kategorieseiten der Portale weitergeleitet.