Microsoft, Facebook, Google - sie alle haben etwas gemeinsam. Hierbei geht es nicht etwa um die Tatsache, dass sie alle in der IT-Branche tätig sind und zu den wertvollsten Konzernen unserer Zeit gehören. Es geht auch nicht um die Datensammelwut, aufgrund derer sie häufig Thema des Tages bei vielen besorgten Nutzern - und mittlerweile sogar Regierungen sind.
All diese Konzerne geben mehrere Millionen US-Dollar im Jahr aus um ihre IT-Infrastruktur so sicher wie möglich zu konzipieren und zu betreiben - und sie alle waren verwundbar für Cross-Site-Scripting Angriffe. Die bittere Realität ist, dass das Verhindern von Cross-Site-Scripting, auch XSS genannt, schwieriger ist als dies zuerst den Anschein hat.
Im Jahr 2019 war Google’s Suchmaschine verwundbar für einen XSS-Angriff aufgrund eines Programmierfehlers in einer JavaScript-Library. Deshalb wäre es einem Angreifer möglich gewesen, einen präparierten Link zu versenden und JavaScript-Code im Kontext von Google.com auszuführen. Genauer gesagt war es tatsächlich möglich eine bestimmte Kombination von HTML-Tags in die Google Suchleiste einzugeben und so JavaScript-Code auszuführen - eine katastrophale Sicherheitslücke für die mit Abstand größte Suchmaschine der Welt, d.enn Cross-Site Scripting Angriffe können leicht zu gestohlenen Nutzerdaten und gekaperten Accounts führen.
Dass selbst führende Technikkonzerne anfällig für XSS sind,ies zeigt deutlich, dass das Verhindern von JavaScript-Schwachstellen extrem schwierig ist. Doch was ist Cross-Site-Scripting eigentlich? Wieso ist es so gefährlich und was kann ein Angreifer damit erreichen?
Same-Origin-Policy
Unsere Webanwendungen werden vom Browser durch die sogenannte Same-Origin-Policy (SOP) geschützt. Diese sorgt dafür, dass JavaScript-Code von https://attacker.com nicht auf https://example.com zugreifen kann. Aufgrund dessen nutzen Angreifer eine andere Methode. Sie bringen die verwundbare Website dazu den JavaScript code selbst auszuführen. Dadurch ist dieser berechtigt auf alle Ressourcen der Website zuzugreifen, was ansonsten durch SOP verhindert werden würde. Diese Ausführung von JavaScript code realisieren sie mithilfe von XSS.
Der Name Cross-Site-Scripting impliziert, dass Angreifer diese Sicherheitslücke ausnutzen um schädliche Scripte von anderen Webseiten nachzuladen. Dies ist allerdings nicht immer der Fall, da der Schadcode in vielen Fällen auch direkt eingeschleust werden kann. Dies geschieht in der Regel über den Inhalt von <script> Tags, Eventhandlern und JavaScript URls.
Es ist also hilfreich sich XSS als das Einschleusen von JavaScript-Code vorzustellen anstatt als das bloße Einbinden schädlicher externer Scripte. Doch wie sieht eine Typische Cross-Site-Scripting Schwachstelle aus?
All diese Konzerne geben mehrere Millionen US-Dollar im Jahr aus um ihre IT-Infrastruktur so sicher wie möglich zu konzipieren und zu betreiben - und sie alle waren verwundbar für Cross-Site-Scripting Angriffe. Die bittere Realität ist, dass das Verhindern von Cross-Site-Scripting, auch XSS genannt, schwieriger ist als dies zuerst den Anschein hat.
Im Jahr 2019 war Google’s Suchmaschine verwundbar für einen XSS-Angriff aufgrund eines Programmierfehlers in einer JavaScript-Library. Deshalb wäre es einem Angreifer möglich gewesen, einen präparierten Link zu versenden und JavaScript-Code im Kontext von Google.com auszuführen. Genauer gesagt war es tatsächlich möglich eine bestimmte Kombination von HTML-Tags in die Google Suchleiste einzugeben und so JavaScript-Code auszuführen - eine katastrophale Sicherheitslücke für die mit Abstand größte Suchmaschine der Welt, d.enn Cross-Site Scripting Angriffe können leicht zu gestohlenen Nutzerdaten und gekaperten Accounts führen.
Dass selbst führende Technikkonzerne anfällig für XSS sind,ies zeigt deutlich, dass das Verhindern von JavaScript-Schwachstellen extrem schwierig ist. Doch was ist Cross-Site-Scripting eigentlich? Wieso ist es so gefährlich und was kann ein Angreifer damit erreichen?
Same-Origin-Policy
Unsere Webanwendungen werden vom Browser durch die sogenannte Same-Origin-Policy (SOP) geschützt. Diese sorgt dafür, dass JavaScript-Code von https://attacker.com nicht auf https://example.com zugreifen kann. Aufgrund dessen nutzen Angreifer eine andere Methode. Sie bringen die verwundbare Website dazu den JavaScript code selbst auszuführen. Dadurch ist dieser berechtigt auf alle Ressourcen der Website zuzugreifen, was ansonsten durch SOP verhindert werden würde. Diese Ausführung von JavaScript code realisieren sie mithilfe von XSS.
Der Name Cross-Site-Scripting impliziert, dass Angreifer diese Sicherheitslücke ausnutzen um schädliche Scripte von anderen Webseiten nachzuladen. Dies ist allerdings nicht immer der Fall, da der Schadcode in vielen Fällen auch direkt eingeschleust werden kann. Dies geschieht in der Regel über den Inhalt von <script> Tags, Eventhandlern und JavaScript URls.
Es ist also hilfreich sich XSS als das Einschleusen von JavaScript-Code vorzustellen anstatt als das bloße Einbinden schädlicher externer Scripte. Doch wie sieht eine Typische Cross-Site-Scripting Schwachstelle aus?