• IT-Karriere:
  • 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. MVV Energie AG, Mannheim
  2. NetApp Deutschland GmbH, Hamburg, Berlin

Ü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.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
Bilder, Fonts und andere 
  1. 1
  2. 2
  3.  


Anzeige
Hardware-Angebote
  1. (u. a. Xbox Series S für 290,99€, Xbox Wireless Controller Carbon Black/Robot White/Shock Blue...

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
       


ANC-Kopfhörer im Vergleich

Wir haben Sonys neuen WH-1000XM4 bei der ANC-Leistung gegen Sonys alten WH-1000XM3 und Boses Noise Cancelling Headphones 700 antreten lassen.

ANC-Kopfhörer im Vergleich Video aufrufen
Macbook Air mit Apple Silicon im Test: Das beste Macbook braucht kein Intel
Macbook Air mit Apple Silicon im Test
Das beste Macbook braucht kein Intel

Was passiert, wenn Apple ein altbewährtes Chassis mit einem extrem potenten ARM-Chip verbindet? Es entsteht eines der besten Notebooks.
Ein Test von Oliver Nickel

  1. Apple Macbook Air (2020) im Test Weg mit der defekten Tastatur!
  2. Retina-Display Fleckige Bildschirme auch bei einigen Macbook Air
  3. iFixit Teardown Neue Tastatur macht das Macbook Air dicker

Star Wars: Darth-Vader-Darsteller Dave Prowse ist tot
Star Wars
Darth-Vader-Darsteller Dave Prowse ist tot

Er war einer der großen Stars der originalen Star-Wars-Trilogie und doch kaum jemandem bekannt. David Prowse ist im Alter von 85 Jahren gestorben.
Ein Nachruf von Peter Osteried

  1. Spaceballs Möge der Saft mit euch sein
  2. The Mandalorian Erste Folge der zweiten Staffel ist online
  3. Star Wars Disney und Lego legen Star Wars Holiday Special neu auf

No One Lives Forever: Ein Retrogamer stirbt nie
No One Lives Forever
Ein Retrogamer stirbt nie

Kompatibilitätsprobleme und schlimme Sprachausgabe - egal. Golem.de hat den 20 Jahre alten Shooter-Klassiker No One Lives Forever trotzdem neu gespielt.
Von Benedikt Plass-Fleßenkämper

  1. Heimcomputer Retro Games plant Amiga-500-Nachbau
  2. Klassische Spielkonzepte Retro, brandneu
  3. Gaming-Handheld Analogue Pocket erscheint erst 2021

    •  /