Abo
  • Services:

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. Zweckverband Landeswasserversorgung, Stuttgart
  2. über duerenhoff GmbH, Raum Norderstedt

Ü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
Spiele-Angebote
  1. für 2€ (nur für Neukunden)
  2. 59,99€ mit Vorbesteller-Preisgarantie (Release 26.02.)
  3. 32,25€ (5% Extra-Rabatt mit Gutschein GRCCIVGS (Uplay-Aktivierung))

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
       


Nubia Red Magic Mars - Hands on (CES 2019)

Das Red Magic Mars von Nubia ist ein Gaming-Smartphone mit guter Hardware - und einem ziemlich guten Preis.

Nubia Red Magic Mars - Hands on (CES 2019) Video aufrufen
Alienware m15 vs Asus ROG Zephyrus M: Gut gekühlt ist halb gewonnen
Alienware m15 vs Asus ROG Zephyrus M
Gut gekühlt ist halb gewonnen

Wer auf LAN-Partys geht, möchte nicht immer einen Tower schleppen. Ein Gaming-Notebook wie das Alienware m15 und das Asus ROG Zephyrus M tut es auch, oder? Golem.de hat beide ähnlich ausgestatteten Notebooks gegeneinander antreten lassen und festgestellt: Die Kühlung macht den Unterschied.
Ein Test von Oliver Nickel

  1. Alienware m17 Dell packt RTX-Grafikeinheit in sein 17-Zoll-Gaming-Notebook
  2. Interview Alienware "Keiner baut dir einen besseren Gaming-PC als du selbst!"
  3. Dell Alienware M15 wird schlanker und läuft 17 Stunden

Begriffe, Architekturen, Produkte: Große Datenmengen in Echtzeit analysieren
Begriffe, Architekturen, Produkte
Große Datenmengen in Echtzeit analysieren

Wer sich auch nur oberflächlich mit Big-Data und Echtzeit-Analyse beschäftigt, stößt schnell auf Begriffe und Lösungen, die sich nicht sofort erschließen. Warum brauche ich eine Nachrichten-Queue und was unterscheidet Apache Hadoop von Kafka? Welche Rolle spielt das in einer Kappa-Architektur?
Von George Anadiotis


    Elektromobilität: Der Umweltbonus ist gescheitert
    Elektromobilität
    Der Umweltbonus ist gescheitert

    Trotz eines spürbaren Anstiegs zum Jahresbeginn kann man den Umweltbonus als gescheitert bezeichnen. Bislang wurden weniger als 100.000 Elektroautos gefördert. Wenn der Bonus Ende Juni ausläuft, sind noch immer einige Millionen Euro vorhanden. Die Fraktion der Grünen will stattdessen Anreize über die Kfz-Steuer schaffen.
    Eine Analyse von Dirk Kunde

    1. Elektromobilität Nikola Motors kündigt E-Lkw ohne Brennstoffzelle an
    2. SPNV Ceské dráhy will akkubetriebene Elektrotriebzüge testen
    3. Volkswagen Electrify America nutzt Tesla-Powerpacks zur Deckung von Spitzen

      •  /