XSS-Testzeichenfolgen für Ausgabe-Kodierung
Cross-Site-Scripting (XSS) entsteht, wenn Eingaben ungeprüft als HTML oder Skript ausgegeben werden. Die Seite zeigt Testzeichenfolgen mit Skript-Tags, Ereignisattributen, javascript:- und data:-Adressen sowie bereits kodierte Entities. Sie sind zum Prüfen der eigenen Anwendung gedacht: Die Zeichenfolgen sollten als Text angezeigt und weder ausgeführt noch doppelt dekodiert werden.
16 Varianten auf einer Seite, jede mit eigenem Kopier- oder Download-Knopf.
XSS-Probe <script>alert(1)</script>
<script>alert(1)</script>
Sollte ausgegeben werden als Text, nicht ausgeführt; Test der Ausgabe-Kodierung. Testzeichenfolge für eigene Systeme.
XSS-Probe <img src=x onerror=alert(1)>
<img src=x onerror=alert(1)>
Ereignisattribut in einem Bild-Tag. Testzeichenfolge für eigene Systeme.
XSS-Probe "><svg onload=alert(1)>
"><svg onload=alert(1)>
Bricht aus einem Attribut aus und öffnet ein SVG mit Ereignis. Testzeichenfolge für eigene Systeme.
XSS-Probe " onmouseover="alert(1)
" onmouseover="alert(1)
Attributkontext: schließt value="…" und hängt ein Ereignis an. Testzeichenfolge für eigene Systeme.
XSS-Probe javascript:alert(1)
javascript:alert(1)
Als Link-Ziel; URL-Validierung muss das Schema prüfen (nur http/https). Testzeichenfolge für eigene Systeme.
XSS-Probe <a href="javascript:alert(1)">klick</a>
<a href="javascript:alert(1)">klick</a>
Link mit javascript:-Schema. Testzeichenfolge für eigene Systeme.
XSS-Probe ';alert(1);//
';alert(1);//
Bricht aus einem JavaScript-String aus (eingebettetes Skript). Testzeichenfolge für eigene Systeme.
XSS-Probe <body onload=alert(1)>
<body onload=alert(1)>
Ereignis am body-Tag. Testzeichenfolge für eigene Systeme.
XSS-Probe <details open ontoggle=alert(1)>
<details open ontoggle=alert(1)>
Ereignis, das ohne Benutzeraktion auslöst. Testzeichenfolge für eigene Systeme.
XSS-Probe <input autofocus onfocus=alert(1)>
<input autofocus onfocus=alert(1)>
Auslöser durch Autofokus. Testzeichenfolge für eigene Systeme.
XSS-Probe <ScRiPt>alert(1)</sCrIpT>
<ScRiPt>alert(1)</sCrIpT>
Gemischte Schreibweise gegen Filter mit Kleinschreibung. Testzeichenfolge für eigene Systeme.
XSS-Probe <scr<script>ipt>alert(1)</scr</script>ipt>
<scr<script>ipt>alert(1)</scr</script>ipt>
Gegen Filter, die Tags einmalig entfernen. Testzeichenfolge für eigene Systeme.
XSS-Probe data:text/html,<script>alert(1)</script>
data:text/html,<script>alert(1)</script>
data:-URL als Link- oder Frame-Ziel. Testzeichenfolge für eigene Systeme.
XSS-Probe <iframe srcdoc="<script>alert(1)</script>">
<iframe srcdoc="<script>alert(1)</script>">
Eingebettetes Dokument über srcdoc. Testzeichenfolge für eigene Systeme.
XSS-Probe als HTML-Entities kodiert
<script>alert(1)</script>
Bereits kodiert: darf beim Ausgeben nicht doppelt dekodiert werden. Testzeichenfolge für eigene Systeme.
HTML-Kommentar --> und <!--
--> <!-- x -->
Kommentarzeichen können umgebendes HTML durcheinanderbringen. Testzeichenfolge für eigene Systeme.