Abo
  • IT-Karriere:

Content Security Policy: Schutz vor Cross-Site-Scripting

Mit der Version 23 soll Firefox offiziell Unterstützung für Content Security Policy erhalten. Die ermöglicht es Webentwicklern, Angriffe durch Cross-Site-Scripting (XSS) deutlich zu erschweren.

Artikel veröffentlicht am , Hanno Böck
Content Security Policies sollen vor Cross-Site-Scripting schützen.
Content Security Policies sollen vor Cross-Site-Scripting schützen. (Bild: virtualforge.de/Screenshot: Golem.de)

Sogenannte XSS- oder Cross-Site-Scripting-Angriffe gehören zu den größten Sicherheitsproblemen bei Webanwendungen. Gelingt es einem Angreifer, Javascript-Code in eine durch einen Login geschützte Webseite einzuschleusen, sind beliebige Angriffe möglich. Ein Angreifer kann die Session seines Opfers übernehmen, Daten löschen und verändern oder auch seinem Opfer fehlerhafte Seiteninhalte vorgaukeln.

Inhalt:
  1. Content Security Policy: Schutz vor Cross-Site-Scripting
  2. Bilder, Fonts und andere

Browserhersteller arbeiten seit einigen Jahren unter dem Dach des Standardisierungsgremiums W3C an einem System, welches derartige Angriffe deutlich erschweren soll. Mit Content Security Policy können die Entwickler einer Webanwendung detailliert festlegen, aus welchen Quellen Javascript-Code oder andere Inhalte wie etwa Bilder von einer Webseite genutzt werden können. Mit der übernächsten Version 23 soll das Konzept nun offiziell Einzug in den Firefox-Browser halten. Chrome unterstützt Content Security Policy bereits seit Version 25.

XSS-Angriffe häufiges Problem

Cross-Site-Scripting-Angriffe sind immer dann möglich, wenn eine Webseite externe Eingaben ungefiltert im HTML-Code ausgibt. Ein Beispiel wäre etwa eine Webseite, die dem User ein Suchformular anbietet, welches eine URL der Form http://beispiel.com/suche?suchbegriff=test ansteuert. Ein Angreifer kann nun durch den Aufruf etwa von

http://beispiel.com/suche?suchbegriff=<script>somecode()</script>

versuchen, dort Javascript-Code einzuschleusen.

Stellenmarkt
  1. schröter managed services GmbH, Krefeld
  2. terranets bw GmbH, Lindorf bei Wendlingen/Kirchheim

Üblicherweise sollte daher jede Eingabe, die von einer möglicherweise nicht vertrauenswürdigen Quelle stammt, gefiltert werden. HTML-Sonderzeichen wie <, > und & müssen entweder entfernt oder entsprechend umgewandelt werden. Doch häufig vergessen Webentwickler dies und eine Cross-Site-Scripting-Lücke entsteht.

HTTP-Header verhindert Angriffe

Content Security Policy besteht im Kern aus einem HTTP-Header. Ein einfaches Beispiel wäre der Header Content-Security-Policy: script-src 'self'. In PHP könnte dieser etwa mit dem Befehl header("Content-Security-Policy: script-src 'self'") übertragen werden.

Zahlreiche Browserhersteller haben schon längere Zeit unfertige Implementierungen von Content Security Policy ausgeliefert. Diese wurden dann aber mit anderen Headernamen genutzt. Firefox etwa verwendete bisher x-Content-Security-Policy, Webkit-basierte Browser wie Chrome oder Safari dagegen X-Webkit-CSP. Seit Version 25 unterstützt Chrome den Standard-Header-Namen Content-Security-Policy, in Firefox wird dies mit der offiziellen Einführung in Version 23 passieren.

Das oben genannte Beispiel script-src 'self' bedeutet nun, dass Scripte ausschließlich vom eigenen Server nachgeladen werden können. So kann etwa im Header einer Seite Javascript-Code mit der HTML-Direktive

<script type="text/javascript" src="beispiel.js"></script>

eingefügt werden. Soll nun zusätzlich externer Javascript-Code ermöglicht werden, muss der Header entsprechend angepasst werden. Angenommen, der Javascript-Code für Google Ads soll verwendet werden. Der entsprechende HTML-Code lautet

<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

Damit wird zusätzlich die Domain pagead2.googlesyndication.com zugelassen. Der Inhalt des Content Security Policy-Headers muss dann noch in script-src 'self' pagead2.googlesyndication.com geändert werden. Die Sicherheitsrichtlinien können aber nicht nur für Code definiert werden.

Bilder, Fonts und andere 
  1. 1
  2. 2
  3.  


Anzeige
Hardware-Angebote
  1. ab 234,90€

slashwalker 19. Nov 2014

Hatte CSP auch schon ausprobiert und mir ging es ähnlich wie dir. Dazu kommt noch das man...

Bibabuzzelmann 14. Jun 2013

Hm...ich mein es hat mal Alarm geschlagen, als ich auf ner verseuchten Seite unterwegs...

Anonymer Nutzer 14. Jun 2013

Danke, dass hat mich zu einer Lösung gebracht, es hat gerade mal eine Zeile gefehlt...

Missingno. 14. Jun 2013

Die verwenden doch jetzt Chrome.

Max-M 13. Jun 2013

Tatsache, die Tags stehen so im ausgegeben Quelltext ... *hust*


Folgen Sie uns
       


Sailfish OS auf dem Sony Xperia XA2 Plus ausprobiert

Sailfish OS gibt es als Sailfish X auch für einige Xperia-Smartphones von Sony. Wir haben uns die aktuelle Beta-Version auf dem Xperia XA2 Plus angeschaut.

Sailfish OS auf dem Sony Xperia XA2 Plus ausprobiert Video aufrufen
Adblock Plus: Adblock-Filterregeln können Code ausführen
Adblock Plus
Adblock-Filterregeln können Code ausführen

Unter bestimmten Voraussetzungen können Filterregeln für Adblocker mit einer neuen Funktion Javascript-Code in Webseiten einfügen. Adblock Plus will reagieren und die entsprechende Funktion wieder entfernen. Ublock Origin ist nicht betroffen.
Von Hanno Böck

  1. Urheberrecht Axel-Springer-Verlag klagt erneut gegen Adblocker
  2. Whitelisting erlaubt Kartellamt hält Adblocker-Nutzung für "nachvollziehbar"
  3. Firefox Klar Mozilla testet offenbar Adblocker

Urheberrechtsreform: Was das Internet nicht vergessen sollte
Urheberrechtsreform
Was das Internet nicht vergessen sollte

Die Reform des europäischen Urheberrechts ist eine Niederlage für viele Netzaktivisten. Zwar sind die Folgen der Richtlinie derzeit kaum absehbar. Doch es sollten die richtigen Lehren aus der jahrelangen Debatte mit den Internetgegnern gezogen werden.
Eine Analyse von Friedhelm Greis

  1. Leistungsschutzrecht VG Media will Milliarden von Google
  2. Urheberrecht Uploadfilter und Leistungsschutzrecht endgültig beschlossen
  3. Urheberrecht Merkel bekräftigt Zustimmung zu Uploadfiltern

Online-Banking: In 150 Tagen verlieren die TAN-Zettel ihre Gültigkeit
Online-Banking
In 150 Tagen verlieren die TAN-Zettel ihre Gültigkeit

Zum 14. September 2019 wird ein wichtiger Teil der Zahlungsdiensterichtlinie 2 für die meisten Girokonto-Kunden mit Online-Zugang umgesetzt. Die meist als indizierte TAN-Liste ausgegebenen Transaktionsnummern können dann nicht mehr genutzt werden.
Von Andreas Sebayang

  1. Banking-App Comdirect empfiehlt, Sicherheitswarnung zu ignorieren

    •  /