Client-Side Injection Deep Dive

Cross-Site Scripting

XSS ist kein Angriff auf den Server, sondern auf das Vertrauen des Nutzers in die Webseite. Lerne, wie JavaScript-Kontexte missbraucht werden.

Vector Database

01. Standard Script Tag

Der einfachste Weg: Direkte Injektion eines Script-Blocks.

<script>alert(1)</script>

02. Attribute Breakout

Bricht aus einem HTML-Attribut aus und fügt Event-Handler hinzu.

") onmouseover="...

03. Stealth Image Error

Führt Code aus, wenn ein Bild nicht geladen werden kann. Umgeht viele Filter.

<img src=x onerror=...

04. SVG Vector

Nutzt das XML-Format von SVGs, um Scripte beim Laden auszuführen.

<svg onload=...
')">

05. Iframe Injection

Lädt JavaScript direkt als Quelle eines Iframes.

<iframe src=...

User Feedback Box

Context: InnerHTML
Live Preview:
Dein Kommentar erscheint hier...
BROWSER_DOM_MONITOR SYSTEM_ACTIVE
// Warte auf DOM-Mutationen...

XSS Knowledge Base

Häufig gestellte Fragen zur Client-Side Security

Wie unterscheidet sich Stored von Reflected XSS?

Bei Reflected XSS wird der Payload im Moment des Aufrufs (z.B. via URL-Parameter) an den Browser zurückgegeben. Bei Stored XSS wird der schädliche Code dauerhaft in der Datenbank (z.B. als Forenbeitrag) gespeichert und bei jedem Seitenaufruf an alle Besucher ausgeliefert.

Was ist das Ziel eines XSS-Angriffs?

Meistens der Diebstahl von Session-Cookies. Mit dem Session-Token kann der Angreifer die Identität des Nutzers übernehmen (Account Hijacking), ohne das Passwort zu kennen. Auch Keylogging oder Phishing-Overlays sind möglich.

Was bedeutet "Context-Aware Escaping"?

Es reicht nicht, nur `<` zu filtern. Je nachdem, wo die Daten landen (im HTML-Tag, im Attribut, im JavaScript-Block oder in einer URL), müssen unterschiedliche Zeichen maskiert werden. Eine gute Template-Engine erledigt das automatisch.

Was ist eine Content Security Policy (CSP)?

Eine CSP ist ein zusätzlicher Sicherheits-Header, den der Server sendet. Er weist den Browser an, nur Scripte von vertrauenswürdigen Quellen zu laden und Inline-Scripte (wie unsere Payloads hier) komplett zu blockieren.