molily: Spaß mit Cross-Site Scripting

Beitrag lesen

Hallo,

Eigentlich eine sehr nette Anekdote, die zeigt, wie zentral JavaScript und XMLHttpRequest auch für die Sicherheit geworden sind:

Die Online-Community StudiVZ wurde vermeintlich durch einen XSS-Wurm heimgesucht. Die Programmierer filterten offenbar HTML-Code aus Gruppennamen nicht korrekt. Also fügte jemand fremden, »schädlichen« JavaScript-Code in den Seitencode ein. Dieser Code kommunizierte über XMLHttpRequest mit dem Server - der Browser war ja authentifiziert, also konnte die Identität des Benutzers voll ausgeschöpft werden. Das Script las persönliche Daten aus sowie Daten von »Freunden«. Denen wurde dann eine gefälschte, aber mithilfe der Daten individualisierte und authentisch wirkende Nachricht mit der Link auf die Gruppe geschickt. Fertig war der Community-Wurm, ähnlich dem »Samy«-Wurm damals bei MySpace. Zudem wurde der Benutzer durch ein gefälschtes Login-Formular zum Neu-Einloggen aufgefordert. Die Login-Daten wurden aber nur zusammen mit anderen persönlichen Daten in eine nicht öffentlich zugängliche »Pinnwand« geschrieben - einfach, um dem Betreiber zu zeigen, dass JavaScript diese Daten überall hin hätte verschicken können, natürlich auch an andere Server.

Es war eigentlich recht absehbar, dass das alles passieren kann. Lediglich beim Hinzufügen von Freunden gibt es ein CAPTCHA, da wollte man wohl aus dem Samy-Wurm gelernt haben - geholfen hat es nicht. Die Frage war nur, *wann* jemand eine Stelle findet, an der Benutzereingaben nicht hinreichend überprüft werden. ;) Man kann also nicht vorsichtig genug sein beim Filtern von Benutzereingaben.

Mathias