lessonKey: "xss-deeplink-demo"
title: "Cross-Site Scripting (XSS) - Deeplink Injection"
description: "Lernen Sie, wie XSS-Angriffe durch URL-Parameter-Manipulation und Deeplink-Injection funktionieren"
difficultyLevel: "intermediate"
estimatedDuration: 20
module: "xss-deeplink-demo"
steps:
- id: "intro"
type: "content"
title: "Was ist Cross-Site Scripting (XSS)?"
content: |
Cross-Site Scripting (XSS) ist eine Sicherheitslücke, die es Angreifern ermöglicht, bösartigen JavaScript-Code in Webseiten einzuschleusen, die von anderen Benutzern angesehen werden.
XSS kann auftreten, wenn:
• Benutzereingaben ohne ordnungsgemäße Bereinigung angezeigt werden
• URL-Parameter im Seiteninhalt wiedergegeben werden
• Benutzergenerierte Inhalte als HTML gerendert werden
**Arten von XSS:**
• **Reflected XSS** - Payload ist Teil der Anfrage (z.B. URL-Parameter)
• **Stored XSS** - Payload wird in der Datenbank gespeichert und anderen Benutzern angezeigt
• **DOM-basiertes XSS** - Payload manipuliert direkt das Document Object Model
**Was Angreifer mit XSS tun können:**
• Session-Cookies stehlen und Konten übernehmen
• Benutzer auf Phishing-Seiten umleiten
• Websites verunstalten
• Keylogger installieren
• Auf sensible Daten zugreifen
- id: "url-params"
type: "content"
title: "Wie URL-Parameter funktionieren"
content: |
Viele Websites verwenden URL-Parameter (auch Query-Strings genannt), um Daten zu übergeben:
https://beispiel-shop.com/produkt?name=Laptop&kategorie=Elektronik
In dieser URL:
• name=Laptop ist ein Parameter
• kategorie=Elektronik ist ein weiterer Parameter
**Deeplinks:**
Deeplinks sind URLs, die direkt auf bestimmte Inhalte innerhalb einer Website oder App verlinken. Sie enthalten oft Parameter, die den angezeigten Inhalt anpassen.
**Die Sicherheitslücke:**
Wenn eine Website URL-Parameterwerte ohne Bereinigung anzeigt, kann ein Angreifer bösartigen Code einschleusen:
https://beispiel-shop.com/produkt?name=
Wenn die Seite den "name"-Parameter anzeigt, wird das Skript ausgeführt!
- id: "xss-demo"
type: "interactive"
title: "XSS Deeplink Demo"
interactiveComponent: "XSSDeeplinkDemo"
content: |
Unten sehen Sie eine Demonstration, wie XSS durch URL-Parameter-Injection funktioniert. Die anfällige Version zeigt Benutzereingaben direkt an, während die sichere Version Sonderzeichen kodiert.
Probieren Sie die Beispiel-Payloads aus, um zu sehen, wie verschiedene XSS-Techniken funktionieren. Beachten Sie, wie die Kodierung verhindert, dass der bösartige Code ausgeführt wird.
- id: "question-1"
type: "question"
questionType: "multiple_choice"
question: "Welche der folgenden sind gültige XSS-Payloads, die über URL-Parameter eingeschleust werden können?"
options:
- id: "script-alert"
text: ""
isCorrect: true
points: 10
- id: "img-onerror"
text: ""
isCorrect: true
points: 10
- id: "svg-onload"
text: ""
isCorrect: true
points: 10
- id: "iframe-src"
text: ""
isCorrect: true
points: 10
- id: "normal-text"
text: "Nur ein normaler Produktname"
isCorrect: false
points: 0
maxPoints: 40
feedback:
correct: "Ausgezeichnet! Sie haben alle XSS-Payloads identifiziert. Diese Muster können JavaScript in anfälligen Anwendungen ausführen."
partial: "Gut! Sie haben einige XSS-Payloads erkannt. Überprüfen Sie die Muster: Script-Tags, Event-Handler und Protocol-Injections."
incorrect: "Schauen Sie sich die Demo an und suchen Sie nach Mustern, die HTML-Tags, Event-Handler oder JavaScript-Protokolle enthalten."
- id: "detection-impact"
type: "content"
title: "XSS-Erkennung und Auswirkungen"
content: |
**Wie XSS funktioniert:**
Wenn eine anfällige Anwendung empfängt:
https://shop.com/suche?q=
Und es so anzeigt: