5. November 2008 - Cross Site Scripting

So werden Schwachstellen in Websites zum Datenleck

Selbst vorsichtige Internetnutzer könnten Zugangsdaten unbemerkt im Internet preisgeben. Schwachstellen in Webanwendungen und Internetauftritten ermöglichen Hackern das Einschleusen von gefährlichem Code. Doch gegen das Cross Site Scripting (XSS) gibt es Abwehrmaßnahmen, die Administratoren und Entwickler beherzigen sollten. Sorgen Sie deshalb dafür, dass die Webseiten Ihres Unternehmens keinen fremden Programmcode akzeptieren.

Datenschutzkonzept ist Grundlage der Datenschutzorganisation (Bild: Mathias Rosenthal / iStock / Thinkstock)

Um an die Zugangsdaten von Internetnutzern zu kommen, setzen Datenräuber auf zahlreiche Angriffsmethoden.

Phishing-Mails locken auf vermeintliche Webshops, Keylogger installieren sich auf der Festplatte des Internetrechners und schreiben die Passworteingaben mit.

Fremdes Login-Fenster eingebaut

Doch Sie müssen nicht einmal eine Malware auf Ihrem Computer haben oder einem heimtückischen Hyperlink folgen, es reicht schon der Besuch einer an sich vertrauenswürdigen Website.

Eingebettet in die Originalinhalte des Webauftritts kann sich dort ein gefälschtes Login-Fenster befinden, das eigentlich zu einer anderen Website gehört.

Geben Sie dort Ihre Zugangsdaten nichts ahnend ein, landen die vertraulichen Informationen bei einer anderen Website und damit beim Angreifer.

Doch wie ist es möglich, dass ein Hacker Webseiten derart manipuliert?

Einschleusen von Programmcode verändert Websites

Ermöglicht wird dies durch den scheinbar vertrauenswürdigen Webauftritt selbst.

Moderne Webanwendungen nutzen Programmiersprachen, die es unter Umständen erlauben, dass Dritte den Programmcode der Website über das Internet verändern (Website Defacement).

Die Angriffsmethode wird Cross Site Scripting (XSS) genannt und basiert darauf, dass Code (meist JavaScript-Code) in eine Webanwendung eingeschleust wird.

Dazu werden Benutzereingabefelder oder Script-Parameter missbraucht, die nicht entsprechend gegen gefährliche Befehle und Konfigurationen geschützt sind.

Code-Eingaben bleiben oft ungeprüft

Ohne eine Sicherheitsfilterung der Eingaben und Einstellungen kann der eingeschleuste Code an den Webbrowser zur Ausführung übertragen werden.

Der Browser öffnet dann ein zusätzliches Popup-Fenster für die Passworteingabe, legt ein Login-Fenster über die eigentliche Webseite oder integriert ein Webformular in den Internetauftritt, das dann persönliche Daten abfragen kann.

Original oder Fälschung? Der Unterschied ist kaum zu erkennen

Der Besucher der Webseite hält die eingeschleusten Elemente für echte Bestandteile der Originalseite. Eine Unterscheidung von Original und Fälschung ist selbst für erfahrene Nutzer dann kaum noch möglich.

Eine Überprüfung der angezeigten Internetadresse hilft auch nicht dabei, da nicht die komplette Webseite gefälscht wurde, sondern nur einzelne Inhalte eingefügt wurden.

Unterweisung der Nutzer reicht nicht

Eine Aufklärung der Internetnutzer in Ihrem Unternehmen ist also ebenso wenig ausreichend zur Abwehr von XSS-Attacken wie die pauschale Warnung vor bestimmten Internetauftritten.

XSS-Angriffe sind insbesondere möglich in ungeschützten Webanwendungen, die die Webseiten dynamisch aufbauen, also nicht aus statischen Inhalten bestehen.

Dazu gehören verbreitete Webangebote wie Online-Shops, E-Mail-Portale, Internetsuchen, Bezahldienste, Weblogs und Foren, bei denen Zugangsdaten, E-Mails und Online-Warenkörbe durch Cross Site Scripting eingesehen und gestohlen werden könnten.

Vom Risiko durch Cross Site Scripting ist also eine Vielzahl von Websites und Internetnutzern bedroht.

Informieren Sie Entwickler und Administratoren über XSS-Risiken

Damit der Webauftritt Ihres Unternehmens nicht ebenfalls für XSS-Angriffe anfällig ist,

    •  sollten Sie die Administratoren und Webentwickler darauf hinweisen, dass sämtliche Benutzereingaben und Parametereinstellungen bei der Website auf Plausibilität zu prüfen sind.

 

  • Erlaubte Benutzereingaben sollten als sogenannte White List hinterlegt werden.

     

  • Die Nutzung von Black Lists, die gefährliche Eingaben abfangen sollen, ist dagegen nicht zu empfehlen, da solche Listen kaum vollständig sein können.

     

  • Wenn ein White-List-Verfahren Benutzereingaben mehrfach zurückweist, sollten die Administratoren prüfen, ob nicht ein XSS-Angriff vorliegt.

     

  • Schwachstellen-Scanner können die XSS-Anfälligkeit von Webangeboten überprüfen. Dennoch sollten Ihre Webentwickler den eigenen Programmcode kritisch durchsehen, ob XSS bereits abgefangen werden kann oder ob Handlungsbedarf (White-List-Verfahren) besteht.

     

  • Neben Benutzereingaben müssen auch Script-Parameter vor der Ausführung abgeprüft werden, um Cross-Site-Scripting zu verhindern (Parameter-Filterung).

     

  • Internetnutzer sollten am besten auf JavaScript im Browser und HTML-Mails verzichten, um das XSS-Risiko zu senken.

Oliver Schonschek
Oliver Schonschek ist Diplom-Physiker und Fachjournalist.

 

Sie glauben, Sie hätten noch so viel Zeit? Falsch! Es gibt mehr zu tun, als Sie vielleicht denken! ▶ Zeit zu handeln