einem Trick vergleichen, bei dem ein Betrüger einen gefälschten, aber täuschend echt aussehenden Aushang in ein Geschäft schmuggelt, den jeder Kunde liest und unbewusst befolgt, ohne zu merken, dass er gar nicht vom Ladenbesitzer stammt
Was steckt dahinter?
XSS, ausgeschrieben Cross-Site Scripting, ist eine der bekanntesten und verbreitetsten Angriffsarten im Web und lässt sich am besten mit einem Trick vergleichen, bei dem ein Betrüger einen gefälschten, aber täuschend echt aussehenden Aushang in ein Geschäft schmuggelt, den jeder Kunde liest und unbewusst befolgt, ohne zu merken, dass er gar nicht vom Ladenbesitzer stammt. Bei einem XSS-Angriff schleust ein Angreifer bösartigen JavaScript-Code in eine Webseite ein, der anschließend im Browser jedes Besuchers automatisch ausgeführt wird, sobald dieser die manipulierte Seite aufruft. Dieser eingeschleuste Code läuft dabei mit denselben Rechten wie der reguläre, legitime Code der Webseite und kann entsprechend weitreichenden Schaden anrichten: Er kann sensible Daten wie Anmeldeinformationen oder Sitzungscookies stehlen, den Inhalt der Seite manipulieren oder Nutzer unbemerkt auf eine andere, schädliche Webseite umleiten. Man unterscheidet dabei grob zwischen “gespeichertem” XSS, bei dem der bösartige Code dauerhaft in der Datenbank der Webseite landet (etwa über ein ungesichertes Kommentarformular) und so jeden zukünftigen Besucher betrifft, und “reflektiertem” XSS, bei dem der schädliche Code nur über einen speziell präparierten Link kurzfristig eingeschleust wird. Der wirksamste Schutz gegen XSS liegt darin, sämtliche Nutzereingaben, die später irgendwo auf einer Webseite angezeigt werden, korrekt zu behandeln, bevor sie ausgegeben werden – ein Prozess, der als “Escaping” oder “Sanitizing” bezeichnet wird und sicherstellt, dass eingegebener Text als reiner Text dargestellt und nicht versehentlich als ausführbarer Code interpretiert wird. Moderne Frameworks wie Laravel mit seiner Blade-Template-Engine übernehmen diese Absicherung größtenteils automatisch, und auch eine durchdachte Content Security Policy bietet eine zusätzliche, wirksame Verteidigungslinie gegen erfolgreiche XSS-Angriffe.