Beim Cross-Site-Scripting (kurz XSS) greift ein bösartiger Client einen anderen Client an indem er ein Skript auf dessen Rechner zur Ausführung bringt.
Typen von XSS
- Stored (Typ I)
- Reflected (Typ II)
- DOM-Injection (Typ 0)
Stored XSS (Typ I)
- Angreifer platziert seinen Schadcode auf einem Server
- Nutzer greifen auf den Server zu und laden den Schadcode
- Schadcode wird im Browser der Nutzer ausgrführt
Reflected XSS (Typ II)
- Eingabefelder (z.B. Suchfelder) geben die Nutzereingabe zurück
- Dem Opfer wird ein Link mit injeziertem Skript geschickt
- Ruft der Nutzer den Link auf, wird das Skript ausgeführt
Dom Injection XSS (Typ 0)
- Interpretierte Objekte werden von Skripten ausgeführt
- Enthalten die Objekte (z.b. über queries) bösartigen Code, kann dieser ausgeführt werden
Gegenmaßnahmen
- Übergegebene Parameter auf Metazeichen testen/filtern oder konvertieren
- Eingaben HTML-Sicher konvertieren