O'Reilly logo

PHP-Sicherheit: PHP/MySQL-Webanwendungen sicher programmieren by Stefan Esser, Christopher Kunz

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

834.3 Warum XSS gefährlich ist
den Händen eines talentierten Angreifers kann XSS jedoch zu einer
gefährlichen Waffe werden und zum Diebstahl von Session-Cookies,
Login-Daten, ja sogar zur Installation von Software auf dem Rechner
des Clients genutzt werden.
Ein einfaches Beispiel für eine XSS-anfällige Applikation wäre ein
Webformular, mit dem Besucher in einem Gästebuch ihre Kommentare
oder Anregungen hinterlassen können und das aus ästhetischen Grün-
den HTML-Tags erlaubt. Ein Angreifer könnte nun in einem Gäste-
bucheintrag JavaScript verwenden, um jeden Besucher des Gästebu-
ches mit einer Popup-Nachricht zu begrüßen oder ihn sogar auf seine
eigene Seite umzuleiten. Der dazugehörige Code sähe so aus:
<script language="javascript">
top.location.href('http://www.boeseseite.de/');
</script>
Bereits diese einfache – und in vielen Fällen auch durchaus erwünschte
– Funktion kann für XSS-Attacken missbraucht werden – hier, um
Besucher auf die eigene Webseite umzuleiten. Ist es dem Angreifer
möglich, JavaScript, JScript, ActiveX oder andere clientbasierte dyna-
mische Sprachelemente in einer Seite zu platzieren, kann er auch fast
beliebig Texte austauschen, bereits gesetzte Links manipulieren und so
z.B. Phishing-Angriffe vorbereiten oder ausführen.
Da der Angriff auf dem Client und nicht auf dem Server stattfin-
det, ist er für den Administrator oft nicht ohne Weiteres ersichtlich –
lediglich Intrusion-Detection-Systeme oder Hardening-Methoden wie
mod_security (siehe Kapitel 11) können XSS-Angriffe unter Umstän-
den ausfindig machen und den Webmaster darauf hinweisen.
4.3 Warum XSS gefährlich ist
Zunächst könnte man davon ausgehen, dass ein XSS-Angriff das Pro-
blem des Clients ist, der ihn ausführt. Wenn jemand in seinem eigenen
Browser ein JavaScript-Popup erzeugen kann, ist das doch keine
Gefahr für Ihre PHP-Anwendung – oder?
XSS kann dann zu einer Gefahr für sensible Daten werden, wenn
die Schwachstelle auf einer Site vom Angreifer den Opfern irgendwie
»untergeschoben« werden kann. Bei Foren und Blogs oder bei CMS-
gestützten Seiten, die Benutzerkommentare zulassen, ist dies einfach.
Versieht der Angreifer einen Kommentar mit Schadcode, wird ein XSS-
Angriff gegen jeden folgenden Besucher der entsprechenden Seite bzw.
des entsprechenden Threads durchgeführt. Der Angreifer benötigt
keine weiteren Manipulationen an der URL.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required