Was ist Cross-Site-Scripting (XSS)?

Schwachstelle, bei der eine Webanwendung Nutzereingaben unverändert in HTML ausgibt, sodass ein in der Eingabe enthaltenes Skript im Browser der Besucher als Seite dieser Website ausgeführt wird. Die grundlegende Gegenmaßnahme ist, Zeichen mit besonderer Bedeutung bei der Ausgabe zu maskieren.

Japanische Bezeichnung: クロスサイトスクリプティング(XSS)

„Cross-Site-Scripting (XSS)“ kommt in 4 Übungsfragen aus 2 Themen vor, z. B. Grundlagen der Webtechnologien, Grundlagen der Informationssicherheit.

Fachgebiet: Grundlagen der Informationssicherheit

Jetzt üben: Fragen zu Cross-Site-Scripting (XSS)

Welche Aussage über einen Unterschied zwischen localStorage im Browser und Cookies ist richtig?

  1. ADaten in localStorage werden nicht automatisch an Anfragen angehängt; das JavaScript von Seiten desselben Ursprungs liest und schreibt sie
  2. BAuch Daten in localStorage werden wie Cookies bei jeder Anfrage an dieselbe Website in einen Header gesetzt und automatisch an den Server gesendet
  3. CAuch localStorage lässt sich mit dem Attribut HttpOnly versehen; selbst wenn dort eine Sitzungs-ID liegt, können die Skripte der Seite sie nicht lesen
Antwort und Erläuterung anzeigen

Antwort: A. Daten in localStorage werden nicht automatisch an Anfragen angehängt; das JavaScript von Seiten desselben Ursprungs liest und schreibt sie

localStorage ist ein Speicherbereich im Browser, der je Ursprung Schlüssel und Werte als Zeichenketten speichert; eine Ablaufzeit lässt sich nicht festlegen, und die Daten bleiben im Allgemeinen erhalten, bis sie gelöscht werden. Sie werden nicht automatisch an den Server gesendet; soll das geschehen, setzt JavaScript sie in eine Anfrage. Cookies sind mit im Allgemeinen höchstens etwa 4 KB pro Cookie klein und werden bei jeder Anfrage automatisch gesendet, während localStorage größere Datenmengen aufnehmen kann. Allerdings kann das JavaScript der Seite es jederzeit lesen, sodass bei einer XSS-Lücke sein Inhalt gestohlen werden kann. Wer dort Werte für die Authentifizierung ablegt, muss dieses Risiko bedenken.

Eine Webanwendung für ein Forum hatte eine Schwachstelle, durch die Skripte in von Nutzern geposteten Texten in den Browsern anderer Besucher ausgeführt wurden. Welche Kombination aus Name dieser Schwachstelle und grundlegender Gegenmaßnahme ist richtig?

  1. ASQL-Injection. Das Passwort für die Verbindung zur Datenbank verlängern
  2. BCross-Site-Scripting (XSS). Bei der Ausgabe geposteter Texte als HTML Zeichen mit besonderer Bedeutung wie < und > maskieren
  3. CCross-Site-Scripting (XSS). Die Kommunikation zwischen Server und Browser mit HTTPS verschlüsseln
Antwort und Erläuterung anzeigen

Antwort: B. Cross-Site-Scripting (XSS). Bei der Ausgabe geposteter Texte als HTML Zeichen mit besonderer Bedeutung wie < und > maskieren

Cross-Site-Scripting (XSS) ist eine Schwachstelle, bei der eine Webanwendung Nutzereingaben unverändert in HTML ausgibt, sodass ein in der Eingabe enthaltenes Skript als Teil der Seite im Browser der Besucher läuft. Da das Skript als Seite dieser Website läuft, kann es die Sitzungsinformationen der Besucher (Cookies) stehlen oder gefälschte Eingabefelder anzeigen. Die grundlegende Gegenmaßnahme ist, Zeichen mit besonderer Bedeutung wie <, >, & und Anführungszeichen je nach Ausgabekontext zu maskieren (etwa < in &lt; umzuwandeln), damit sie als gewöhnliche Zeichen angezeigt werden. Ergänzend kann man Cookies mit dem Attribut HttpOnly versehen, damit Skripte sie nicht lesen können, und mit einer Content Security Policy einschränken, welche Skripte ausgeführt werden dürfen. HTTPS schützt den Übertragungsweg und kann nicht verhindern, dass ein in eine legitime Seite eingebettetes Skript ausgeführt wird.

„Cross-Site-Scripting (XSS)“ in den Erläuterungen

Fragen mit „Cross-Site-Scripting (XSS)“ (4)

  1. Welche Aussage über das durch den obigen Header gesetzte Cookie ist richtig?
  2. Welche Aussage über einen Unterschied zwischen localStorage im Browser und Cookies ist richtig?
  3. Eine Webanwendung für ein Forum hatte eine Schwachstelle, durch die Skripte in von Nutzern geposteten Texten in den Browsern anderer Besucher ausgeführt wurden. Welche Kombination aus Name dieser Schwachstelle und grundlegender Gegenmaßnahme ist richtig?
  4. Eine Webanwendung hat eine Schwachstelle: Öffnet ein angemeldeter Nutzer eine vom Angreifer präparierte Fallenseite, sendet sein Browser vom Nutzer nicht beabsichtigte Anfragen an die legitime Website, etwa Überweisungen oder Einstellungsänderungen. Welche Gegenmaßnahme ist angemessen?

Verwandte Begriffe

Cookie (HTTP-Cookie) Digitale Signatur Hashfunktion Message Authentication Code (Nachrichtenauthentifizierungscode) Multi-Faktor-Authentifizierung (MFA) Phishing Prinzip der minimalen Rechte (Least Privilege) Public-Key-Kryptografie (asymmetrische Verschlüsselung) Ransomware Salt

Zur Glossarübersicht