Beiträge vom 20. August 2009

XSS ist (k)ein Scherz

Donnerstag, 20. August 2009, 13:59 Uhr | Autor:

WASC sieht Web 2.0 im Visier der Angreifer” (heise.de)

Mit 19 Prozent aller aufgezeichneten Vorfälle sind Web-2.0-Seiten das bevorzugte Ziel der Cyberkriminellen. Zum einen haben solche Plattformen große Benutzerzahlen, zum anderen lassen die Techniken der Content-Generierung durch Benutzer und das Konzept der dynamischen Webseiten zahlreiche Angriffsmöglichkeiten zu. Signifikant angestiegen sind Cross-Site-Scripting- und Cross-Site-Request-Forgery-Angriffe(…)

In den Kommentaren zum Artikel meinte jemand:

Immerhin 19% von denen ich gar nix mitkrieg. =)

Ich glaube, er weiß gar nicht wie Recht er damit hat.


<einschub>
Bei nicht-persistentem/reflektivem Cross-Site Scripting (de.wikipedia.org) wird der Code über die URL injiziert und hierbei gibt es zwei Methoden wie man die Daten an den Server sendet, GET und POST.

GET-Request
Die Daten werden sichtbar in der Adresszeile an den Server übertragen:
http://domain.tld/suche.script?suchwort=irgendetwas

POST-Request
Nach dem Absenden sieht man in der Adresszeile nur:
http://domain.tld/suche.script


Hier ein kleines Beispiel für XSS, per GET übertragen:
informationweek.com: XSS per GET
Wie man sieht wurde in die Website etwas eingefügt, sofort erkennbar. Auch sofort erkennbar in der Adresszeile des Browsers, denn der injizierte Code wird auch dort angezeigt,

Und hier, auf der gleichen Website, eine Injektion per POST übertragen:
informationweek.com: XSS per POST
Auch hier sieht man die Veränderung in der Website, aber hier wird in der Adresszeile nichts angezeigt.

(Den Verlag habe ich bereits vor mehreren Monaten angeschrieben. Dieser Hinweis nur, damit kein falscher Eindruck entsteht.)
</einschub>


Warum liest man nie davon, dass jemand Opfer von XSS oder CSRF wurde und nur sehr selten davon, dass in einer Website entsprechende Lücken geschlossen wurden?

Am häufigsten trifft man auf die nicht-persistente/reflektive Art von XSS. Dabei werden keine Daten direkt am Server gespeichert, es werden also keine bleibenden Veränderungen an einer Website vorgenommen. Ich behaupte mal, dass das der Grund dafür ist, dass sehr viele Unternehmen Cross-Site Scripting nicht als eine echte Lücke ansehen. Erst wenn eine Lücke öffentlich wird, wird auch das Unternehmen (manchmal) aktiv, da es um seinen guten Ruf besorgt ist. Das Schließen einer Lücke kostet Geld. Ist die Lücke unbekannt – was nur bedeutet, bisher hat noch kein Opfer geklagt – meinen die Unternehmen wohl: “Lücke schließen? Rausgeschmissenes Geld!”

Wer Opfer von Cross-Site Scripting oder Cross-Site Request Forgery wurde, der wird evtl. feststellen das über irgendeinen Weg Daten in falsche Hände geraten sind, aber wie man an dem obigen POST-Beispiel sieht, wird er kaum bemerken, auf welcher Website er zum Opfer wurde.


Im Archiv von xssed.com findet man dokumentierte XSS-Lücken. Das Projekt wurde im Februar 2007 gestartet. Lücken vom Projektstart wurden noch immer nicht geschlossen, was wohl das Desinteresse der Websitebetreiber dokumentiert.

Thema: XSS | Ein Kommentar