XSS² => CSRF

Montag, 27. Oktober 2008, 9:59 Uhr |  Autor:

Mal wieder ein praktisches Beispiel für XSS (de.wikipedia.org), welches nicht nur hypothetisch besteht:

Auf einer WebSite eines Magazins kann man z.B. für Produkte Bewertungen abgeben. Der WebSite-Betreiber meint das diese Bewertungen glaubwürdiger sind wenn nur angemeldete User eine Bewertung abgeben dürfen, was den Herstellern natürlich als sehr seriös daherkommt. Niemand würde hunderte von Accounts anlegen, nur um seine Produkte gut zu bewerten und/oder die des Konkurrenten schlecht… es geht aber sehr viel einfacher – das AAL-Prinzip, Andere Arbeiten Lassen:

<div style="display:none">
<!-- meine Produkte //-->
<img src="http://www.domain.tld/vote/?pid=1111&rate=10" />
<img src="http://www.domain.tld/vote/?pid=1112&rate=10" />
(...)

<!-- Produkte meiner Konkurrenten //-->
<img src="http://www.domain.tld/vote/?pid=6661&rate=1" />
<img src="http://www.domain.tld/vote/?pid=6662&rate=1" />
(...)
</div>

Das Magazin hat auch ein Forum, in dem sich die User unterhalten. In diesem Forum schreibt der Angreifer einen Beitrag der mit einem Link versehen ist und auf der verlinkten WebSite baut er u.a. auch den obigen Code ein. Der Angreifer kann auf diese Weise dafür sorgen das seine Produkte besser bewertet werden und die seiner Konkurrenz schlechter, und das perfide daran, der User der diese Bewertungen abgibt bemerkt nichts davon. Der einzige Haken für den Angreifer ist, das der User angemeldet sein muß um die Bewertungen abgeben zu können.

Dies ist eine Steigerung zum einfachen XSS, es nennt sich CSRF (de.wikipedia.org).

Eine Cross-Site Request Forgery (…) ist ein Angriff auf ein Computersystem, bei dem der Angreifer unberechtigt Daten in einer Webanwendung verändert. Er bedient sich dazu eines Opfers, das ein berechtigter Benutzer der Webanwendung sein muss. Mit technischen Maßnahmen oder zwischenmenschlicher Überredungskunst wird hierzu aus dem Webbrowser des Opfers ohne dessen Wissen und Einverständnis ein kompromittierter HTTP-Request an die Webanwendung abgesetzt. Der Angreifer wählt den Request so, dass bei dessen Aufruf die Webanwendung die vom Angreifer gewünschte Aktion ausführt.

(Quelle: de.wikipedia.org)

Wenn auf der angegriffenen WebSite auch noch einfaches XSS möglich wäre, dann müßte der Angreifer noch nicht einmal eine eigene Seite basteln. Er könnte einen Foreneintrag schreiben, der bei jedem Aufruf automatisch die Bewertungen abgibt. Auf der WebSite des Magazins ist dies aber nicht möglich.


Mit CSRF sind natürlich auch wirklich sicherheitsrelevante Aktionen möglich.

Wenn z.B. im Backend eines Systems das Anlegen eines neues Users, evtl. sogar mit Administrationsrechten, mit nur einer URL möglich ist, dann könnte man dem echten Admin einen entsprechend erweiterten Link schicken… und schon ist man auch Admin…


Und wer hat das praktische Beispiel gefunden? Es war der Erich (erich-kachel.de) dessen Blog ich ja bereits im Zusammenhang mit XSS erwähnte.

Tags »   

Trackback: Trackback-URL | Feed zum Beitrag: RSS 2.0
Thema: Sicherheit, XSS

Kommentare und Pings sind geschlossen.