Suchen

Web Application Security in der Praxis, Teil 2 Schutz vor Cross-Site Scripting sowie Local and Remote File Inclusion

| Autor / Redakteur: Martin Dombrowski / Stephan Augsten

Neben der SQL Injection haben sich Cross-Site Scripting, Cross-Site Request Forgery sowie Local und Remote File Inclusion bei Angriffen auf Webapplikationen bewährt. Der folgende Artikel beschreibt diese verheerenden Attacken und enthält detaillierte Beispiele, die sowohl ihre Funktionsweise als auch Hintergründe verdeutlichen sollen.

Firmen zum Thema

GET-Parameterübergabe des Strings ‚<script>alert(„Alarm“)</script>‘. Es öffnet sich nun ein Popup mit der Meldung „Alarm“. Dies beweist die Existenz der XSS-Schwachstelle.
GET-Parameterübergabe des Strings ‚<script>alert(„Alarm“)</script>‘. Es öffnet sich nun ein Popup mit der Meldung „Alarm“. Dies beweist die Existenz der XSS-Schwachstelle.
( Archiv: Vogel Business Media )

Wie der Name es schon vermuten lässt, handelt es sich bei Cross-Site Scripting (XSS) um den Umgang mit Skripten. Bei einer XSS-Attacke werden „fremde“ bzw. „gefährliche“ Skripte ausgeführt.

Das vermutlich bekannteste dieser Skripte liest das aktuelle Session Cookie eines angemeldeten Nutzers aus. Der Angreifer erlangt dadurch die Rechte der Benutzers und kann sich nun auf der Webseite bewegen. Diese Vorgehensweise wird Session Hijacking genannt.

Doch wie genau kann es zu einer XSS-Lücke kommen? Gehen wir zur Erläuterung von einer Webseite mit Suchfunktion aus. Nach der Suche nach einem beliebigen Begriff (zum Beispiel „Security-Insider“) wird der Anwender über das Suchergebnis informiert.

Die Ausgabe könnte zum Beispiel wie folgt lauten: „Ihre Suche nach Security-Insider ergab 3 Treffer“. Ist die Webseite nun so programmiert worden, dass sie die Ausgabe nicht nach Skriptbefehlen filtert, so werden alle Benutzereingaben interpretiert ausgegeben.

Um dies anschaulich zu erklären, folgt nun ein Sourcecode-Beispiel für eine PHP-Seite:

XSS Beispiel

Dieser Sourcecode muss nun als example.php gespeichert werden. Er kann nun Lokal oder auf einem Webserver zum Testen ausgeführt werden.

Inhalt

  • Seite 1: Wie kommt es zu XSS-Schwachstellen?
  • Seite 2: Was passiert auf dem Server?
  • Seite 3: Local und Remote File Inclusions
  • Seite 4: Cross Site Request Forgery

(ID:2049815)