Die Präsentation von Stefano und Kuza behandelt sehr spezielle und sehr clevere Angriffe gegen Webanwendungen und Browser. Viele der Angriffe basieren auf Lücken und Fehlern im Browser, Objekte und Zugriffe korrekt zu filtern. Leider sind die meisten Angriffe inzwischen so speziell, dass man sich im Detail damit auseinandersetzen muss. So nebenbei einlesen geht leider gar nicht mehr.
Die Risiken von Cross Site Scripting (XSS) sind seit 2005 durch eine Veröffentlichung von Amit Klein bekannt. Erweiterung zum Code Flow wurden 2008 bekannt. Die kritischen Lücken drehten sich hauptsächlich darum
- HTML zu erzeugen
- Dokumenten-Inhalte zu verändern
- Dokumenten-URLs zu verändern
- Windows zu öffnen/schließen
Insbesondere beschränkt sich XSS nicht darauf simple Cookies auszulesen.
Manipulierte HTML-Objekte (IMG, OBJECT, FORM, …) erlauben häufig Javascript-Ausführung. Ein Beispiel ist die Nutzung von Iframes in IMG-Objekten, die Javascript-Ausführung im IE7 erlaubt.
Aktuelles Thema ist Javascript in CSS. insbesondere kann eine solche Javascript-Funktion Inhalte der Seiten auslesen. Mit HTML5 ist sogar der Zugriff auf entfernte Seiten möglich. Mit der Injektion in eckige Klammern ist die komplette Kontrolle über Objekte möglich:
some_var = document[user_input]; -> setzt man user_input auf ‚cookie‘ enthält man Zugriff auf die Cookies. Das funktioniert auch umgekehrt.
Die diversen Erweiterungen von HTML, insbesondere HTML5 erlauben neue Angriffe wie Client-Side SQL-Injection. Browser-Hersteller sind auch in Zukunft gezwungen, neue Möglichkeiten und Funktionen für Webentwickler zu Implementieren, die häufig unzureichend geplant oder auf schwachen Sicherheitsfunktionen wie der Same-Origin-Policy basieren.
Kommentare gesperrt wegen Spam
Comment by Christian — 29. Dezember 2008 @ 22:30