Threats and Attacks

Was ist XSS (Cross-Site Scripting)?

Cross-Site Scripting, oder XSS, ist eine Sicherheitslücke in Websites, die es Angreifern ermöglicht, schädliche Skripte zu Webseiten hinzuzufügen. Meistens werden diese Skripte in JavaScript geschrieben.

Was ist XSS (Cross-Site Scripting)?

Cross-Site Scripting, oder XSS, ist ein Sicherheitsfehler auf Websites, der es Angreifern ermöglicht, schädliche Skripte zu Webseiten hinzuzufügen. Meistens sind diese Skripte in JavaScript geschrieben.

Wenn jemand eine von XSS betroffene Seite besucht, führt sein Browser das Skript des Angreifers aus. Dies kann zu gestohlenen Cookies, gekaperten Sitzungen oder zu Aktionen führen, die ohne die Erlaubnis des Benutzers ausgeführt werden.

XSS wird, ähnlich wie SQL Injection, regelmäßig in den OWASP Top 10 als eine der häufigsten Schwachstellen von Webanwendungen aufgeführt.

plexicus-xss-attack-ilustration

Wie funktioniert XSS?

XSS zielt oft auf Webanwendungen ab, die Benutzereingaben nicht korrekt überprüfen und bereinigen.

Zum Beispiel, wenn ein Kommentarfeld rohes HTML oder JavaScript ohne jegliche Filterung zulässt, könnte ein Angreifer Code wie diesen hinzufügen:

<script>alert('Hacked!');</script>

Wenn Opfer die Seite ansehen, wird der bösartige Code in ihrem Browser ausgeführt.

Warum XSS in der Cybersicherheit wichtig ist

XSS kann zu einem größeren Sicherheitsverstoß führen:

  • Kontenübernahme (Diebstahl von Sitzungscookies, um Benutzer zu imitieren)
  • Datendiebstahl (Erfassung von Formulareingaben wie Passwörter oder Kreditkarten)
  • Phishing-Angriffe (Einschleusen gefälschter Anmeldeformulare)
  • Malware-Verteilung (Weiterleitung von Benutzern zu bösartigen Websites)

Arten von XSS

  1. DOM-basiertes XSS
  2. Der Angriff erfolgt vollständig im Browser, indem das Document Object Model (DOM) manipuliert wird, ohne den Server einzubeziehen.
  3. Gespeichertes XSS
  4. Bösartiges Skript wird dauerhaft auf dem Server gespeichert, wie z.B. in der Datenbank oder auf der Profilseite.
  5. Reflektiertes XSS
  6. Skript wird von einem Webserver reflektiert (z.B. in URL oder Fehlermeldung), das Skript wird ausgeführt, wenn das Opfer auf einen von Angreifern erstellten Link klickt.

Wie man XSS verhindert

  • Eingabesäuberung & Ausgabekodierung: Immer Benutzereingabedaten bereinigen, bevor sie verarbeitet werden, und Benutzereingaben in ein sicheres Format umwandeln
  • Verwendung von Content Security Policy (CSP): Beschränkt, welche Skripte im Browser ausgeführt werden können.
  • Vermeidung von eval() und Inline-JavaScript: Um Injektionsrisiken zu reduzieren.
  • Sicherheitstests (DAST/IAST): Sicherheitstests durchführen, um Schwachstellen frühzeitig zu erkennen

Beispiel aus der realen Welt - Samy-Wurm (MySpace, 2005)

Was passiert ist: Samy Kamkar veröffentlichte ein MySpace-Profil, das eine gespeicherte XSS-Nutzlast enthielt. Wenn andere Benutzer das Profil ansahen, lief die Nutzlast in ihren Browsern, sie (a) fügte Samy als Freund hinzu, (b) fügte den Satz „Samy ist mein Held“ zu ihren Profilen hinzu und (c) replizierte sich auf die Profilseiten dieser Benutzer.

Auswirkung: Der Wurm verbreitete sich selbst auf ~1 Million Benutzer innerhalb von ~20 Stunden, was MySpace vorübergehend offline zwang.

Warum es funktionierte: MySpace erlaubte nicht entschlossene HTML/Attribute in Profilfeldern, was die Ausführung gespeicherter Skripte in den Browsern der Besucher ermöglichte.

Lektionen / Korrektur: Richtige Ausgabe-Codierung, Eingabesanitierung, Entfernung von HTML in Profilfeldern und schnelle Patches. Samy sah sich später rechtlichen Konsequenzen gegenüber und MySpace setzte Filter ein.

Verwandte Begriffe

Bereit, das Wesentliche zu validieren?

Bereit zu validieren, was zählt.

Plexicus ist Proof-Driven AppSec: validierte Funde, kontextuelles Verständnis und geprüfte Remediation — in Evidenz verankert, mit Ihnen gescoped.

Qualification

Check whether AI Swarm Pentest fits your environment.

Share the minimum context. We will review the scope and tell you the next commercial step.

Before submitting — verify you fit
Do you have a recent classic pentest you're not happy with?

0 / 280

No commitment. If you don't fit, we'll tell you.

SAMPLE HANDOVER · ILLUSTRATIVE

Sample evidence handover

A trimmed view of what your team receives at the end of an AI Swarm Pentest engagement. Real engagements include full technical evidence, executive narrative, and a remediation plan.

VALIDATED FINDING Evidence attached

Server-Side Request Forgery in webhooks/receiver

demo-project/sample-app · src/webhooks/receiver.py:42

SeverityHigh CVSS 3.18.6 Priority79 Confirmedvia replay

Untrusted caller-supplied URLs reach an internal egress without an allowlist. Replayed in a sandbox against a fresh authorised target — the same control was validated to fail twice.

REVIEWER-READY REMEDIATION Merge-ready PR

Validate the target URL against an allowlist of permitted hostnames. Reject private/internal IP ranges. Enforce HTTPS only.

plexicus/remediation/webhooks-ssrf 3 changed · 0 new files
42resp = requests.get(target_url)
42+if not is_allowed_host(target_url):
43+  raise WebhookRejected(target_url)
44+resp = requests.get(target_url, timeout=5)
Every engagement hands over:
  • Executive briefing
  • Validated findings list
  • Merge-ready PRs
  • Compliance mapping (NIS2 · DORA · CRA)