2 Cross-Site Scripting
Eines der Hauptprobleme in heutigen Webapplikationen ist und bleibt Cross-Site Scripting. Der Name ist dabei etwas verwirrend, denn die darunter verstandenen Angriffsszenarien müssen gar nicht durch eine zweite Seite stattfinden oder von dort Daten laden. Die Angriffe finden häufig auf einer einzelnen Seite statt, indem dort HTML-, CSS- oder JavaScript-Code eingefügt wird und im Idealfall persistent vorhanden ist, indem der Angriff in der Datenbank, Session oder in Cookies gespeichert wird.
Technisch gesehen gehört eine XSS-Attacke sogar zum großen Teil der Injections (Kapitel 3.1), da die Problematik aber so groß und weit verbreitet ist, wurde ihr hier ein eigenes Kapitel gewidmet.
2.1 Die Gefahr
Das klingt jetzt alles spannend, aber was kann denn wirklich passieren?
2.1.1 Defacing
Das wohl noch kleinereÜbel ist das Defacing einer Website. Häufig rühmt sich der Angreifer dann damit, eine Website gehackt zu haben, und hinterlässt seine„Tags“. Farben oder Texte werden manipuliert, dieÄnderungen sind aber zumeist sofort erkennbar, da der Hack Aufmerksamkeit erregen soll.
Möglich ist es aber auch, das Ganze etwas subtiler zu machen, so kursieren aktuell mehrere Fälle im TYPO3-Umfeld, bei denen sich der Content dynamischändert, je nachdem,über welche Suchbegriffe man auf die Website gekommen ist. Dies wird dazu genutzt, um damit dann z. B.über Ihre Website quasi unbemerkt Viagra oder andere zwielichtige Güter zu bewerben und verkaufen. Dies wird häufig erst erkannt, wenn man selbstüber entsprechende Suchergebnisse auf die Website trifft oder die Logs genauer untersucht, um herauszufinden, mit welchen Suchbegriffen auf die Seite gelangt wurde.
2.1.2 Datenmanipulation
Etwas weiter gehen die Attacken dann, wenn bösartiger JavaScript-Code eingefügt wird, der z. B. Requests ausführt, die via AJAX ausgelöst werden, und dadurch die Daten manipuliert.
Ruft dann ein User die Seite auf, können dadurch z. B. seine E-Mail-Adresse oder Informationen in seinem Profil geändert werden, ohne dass er davon etwas mitbekommt. Letzteres wird in Kapitel 3.3.3 mit einer XSS-/CSRF-Kombination auf die Spitze getrieben.
Hat der User Administrationsrechte, wäre es sogar möglich, automatisiert z. B. einen neuen Account anzulegen oder einem bestehenden Account mehr Rechte zu geben, wenn der Angreifer genügend Informationenüber die benötigten Requests hat.
Prinzipiell ist aber auch die Manipulation von Seiten denkbar, wenn man auf einen Redakteur trifft, oder dieÄnderung des Rankings in einem Suchalgorithmus, oder eventuell das Setzen von Links auf die Seite der Konkurrenz.
2.1.3 Datenspionage
Doch kann das Ausspionieren von Daten weitaus schlimmere Folgen haben als die Manipulation. Während Letztere doch sicherlich entdeckt werden kann, bleiben Spione oft jahrelang unentdeckt, geben sensitive