Wenn die Webanwendungen zum Angriffstor wird

Webanwendungen sind die wichtigsten Applikationen, aber der Startpunkt bei vielen Angriffspfaden. XSS ist eine Vorgehensweise.

Cross-Site-Scripting, abgekürzt mit den besser bekannten drei Buchstaben XSS, ist eine häufige Angriffmethode auf Webanwendungen. Durch das Einschleusen von HTML- und JavaScript-Code erfolgt der Angriff auf die Benutzer und dahinter gelagerter Systeme. 

/

InformationssicherheitBlogThemaXSS

Vorstellung XSS

Bei einem Angriff über Cross-Site-Scripting-Angriff steht die Webanwendung im Vordergrund. Schadcode wird über die Eingabe eingebracht. Wird die Eingabe nicht geprüft ("sanitized"), kann sie akls Bestandteil einer dynamischen Webseite zu Schaden führen. Für ein besseres Verständnis, wollen wir im Nachfolgenden auf die verschiedenen Arten von XSS eingeben.

 

XSS Arten

1. Reflektiertes XSS

Beim reflektierenden XSS wird der Schadcode an den Webserver gesendet. Dieser wird dann vom Server an den Webclient zurückgegeben (reflektiert). Erforderlich für diesen Angriff ist der Aufruf einer präparierten URL oder das Absenden eines “bösartigen” Formulars, die den gefährlichen Schadcode enthalten können.

2. Persistentes XSS

Bekannter ist diese Variante, die auch unter JavaScript-Injection bekannt ist. Über einen Eintrag, z.B. in einem Blog oder einem Chat wird der Schadcode auf dem Webserver gespeichert (persistent). Bei jeden Aufruf der betroffenen Seite wird der Schadcode über die Seite ausgeliefert. Fatal, besonders für das Image des Website-Betreibers. 

3. DOM-basiertes oder lokales XSS

Die dritte Variante tritt beim Einsatz moderner JavaScript-Frameworks auf. Daten werden bei solchen Frameworks lokal auf dem Client verarbeitet. Der Schadcode wird über eine Schwachstelle im clientseitigen Skriptcode eingeschleust. Wenn dann im Scriptcode eine die Daten oder zu überprüfen ausgibt, wird ein Angriff durch Aufruf einer präparierten URL möglich. Diese Seite hat dann den Schadcode, der ausgeführt wird.

 

Fazit 

Bei unseren Anwendungen achten wir bei der Konzeption und durch intensives Testen darauf, dass XSS Angriffe nicht möglich sind. Weitere Möglichkeiten sind auch Einstellungen auf der Webserverseite, die XSS-Angriffe erschwert. Durch die Verwendung von JavaScript-Bibliotheken können Schwachstellen von Angreifer missbraucht werden. Hier ist eine gewisse Sorgfalt, bei der Wahl der Bibliotheken nötig.