Cross-Site-Scripting Grundlagen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 11: | Zeile 11: | ||
*Dort kommt es zur manipulieren serverseitige Skripte zur Benutzeranmeldung. | *Dort kommt es zur manipulieren serverseitige Skripte zur Benutzeranmeldung. | ||
=Es gibt 3 Arten des Cross-Site-Scripting/XSS= | =Es gibt 3 Arten des Cross-Site-Scripting/XSS= | ||
| − | + | *[[Reflektiertes Cross-Site-Scripting/XSS | |
*Schädliches Skript an den Webserver gesendet durch: | *Schädliches Skript an den Webserver gesendet durch: | ||
**Aufruf einer manipulierten URL | **Aufruf einer manipulierten URL | ||
| Zeile 22: | Zeile 22: | ||
*Diese Form ist eine Client-seitige Implementierung. | *Diese Form ist eine Client-seitige Implementierung. | ||
{{#drawio:xss1}} | {{#drawio:xss1}} | ||
| − | + | *[[Persistentes Cross-Site-Scripting/XSS]] | |
| − | |||
*Schädlichen Skripte werden auf dem Webserver, in einer Datenbank, gespeichert | *Schädlichen Skripte werden auf dem Webserver, in einer Datenbank, gespeichert | ||
*Man muss kein Link generieren und auch nichts an das Opfer verschicken | *Man muss kein Link generieren und auch nichts an das Opfer verschicken | ||
| Zeile 30: | Zeile 29: | ||
*Anfällig für diese Scripting-Art sind Blogs und Foren. | *Anfällig für diese Scripting-Art sind Blogs und Foren. | ||
{{#drawio:xss2}} | {{#drawio:xss2}} | ||
| − | + | *[[DOM-basiertes Cross-Site-Scripting/XSS]] | |
*Über einen gefälschten GET-Parameter in die URL fügt der Hacker JavaScript ein. | *Über einen gefälschten GET-Parameter in die URL fügt der Hacker JavaScript ein. | ||
*Opfer bekommt Link geschickt und klickt Link an. | *Opfer bekommt Link geschickt und klickt Link an. | ||
| Zeile 38: | Zeile 37: | ||
*Statische Websites, welche die jeweilige Skript-Sprache unterstützen, sind gefährdet. | *Statische Websites, welche die jeweilige Skript-Sprache unterstützen, sind gefährdet. | ||
{{#drawio:xss3}} | {{#drawio:xss3}} | ||
| + | |||
=Schutzmaßnahmen für Internet-User= | =Schutzmaßnahmen für Internet-User= | ||
*Ausschalten der JavaScript-Unterstützung im Browser. | *Ausschalten der JavaScript-Unterstützung im Browser. | ||
Version vom 6. März 2023, 13:47 Uhr
XSS/Cross-Site-Scripting
- Ausnutzen von Sicherheitslücken in Webanwendungen
- Schädliche Skripte werden dabei in einen vertrauenswürdigen Kontext eingespeist
- System der Nutzer kann angeriffen werden
- Meist in JavaScript und/oder Quelltextdatei programmiert werden.
- harmlosen Varianten beispielsweise aufpoppende Fenster
- Worst Case - Zugriff auf vertrauliche Informationen
Gefahr
- Gefahr besteht wenn Benutzerdaten ohne Überprüfung an den Webbrowser weiterleitet werden
- Über XSS-Löcher gelangen die schädlichen Skripte zu den betroffenen Clients.
- Dort kommt es zur manipulieren serverseitige Skripte zur Benutzeranmeldung.
Es gibt 3 Arten des Cross-Site-Scripting/XSS
- [[Reflektiertes Cross-Site-Scripting/XSS
- Schädliches Skript an den Webserver gesendet durch:
- Aufruf einer manipulierten URL
- Absenden eines präparierten Formulars
- Angreifer sendet eine Mail zu den Opfern
- Webserver gibt Daten ohne Überprüfung an den Client zurück
- Durch Klick auf den Link startet den Schadcode automatisch
- Schadcode wird nicht auf dem Server gespeichert
- Beliebte Angriffsziele sind dynamische Websites
- Diese Form ist eine Client-seitige Implementierung.
- Persistentes Cross-Site-Scripting/XSS
- Schädlichen Skripte werden auf dem Webserver, in einer Datenbank, gespeichert
- Man muss kein Link generieren und auch nichts an das Opfer verschicken
- Bei jedem Aufruf durch einen Client ausgeliefert.
- Ziele sind Rechner die Benutzerdaten ohne Überprüfung serverseitig speichern
- Anfällig für diese Scripting-Art sind Blogs und Foren.
- DOM-basiertes Cross-Site-Scripting/XSS
- Über einen gefälschten GET-Parameter in die URL fügt der Hacker JavaScript ein.
- Opfer bekommt Link geschickt und klickt Link an.
- Angriffsart wird auch lokales XSS genannt.
- Schadcode wird durch eine Lücke in einem clientseitigen Skript ohne Überprüfung ausgeführt.
- Webserver nicht an dem Prozess beteiligt.
- Statische Websites, welche die jeweilige Skript-Sprache unterstützen, sind gefährdet.
Schutzmaßnahmen für Internet-User
- Ausschalten der JavaScript-Unterstützung im Browser.
- Es gibt Add-ons, die Sie vor XSS-Angriffen schützen können.
- Beispiel Mozilla Firefox Erweiterung NoScript.
- Man kann Whitelisten setzen wenn diese sicher sind
Maßnahme der Website-Betreiber gegen XSS-Attacken
- Alle eingehenden Eingabewerte als unsicher betrachten.
- Alle Daten sollten entsprechend geprüft werden.
- Auch hier kann man Whitelisten anlegen
- Man kann Eingaben auf Ihrer Website zu scannen und nur vertrauenswürdige Inhalte zuzulassen,
- Exzellenten Schutz gegen Cross-Site-Scripting.
- Vorgeschaltete Webprotection(z.B. Sophos Webprotection)
- Datenausgabe sollte auch abgesichert werden
- Problematischen HTML-Metazeichen durch Zeichenreferenzen ersetzen
- Metazeichen werden normale Zeichen gewertet
- potenzielle eingeschleuste Skripte können nicht gestartet werden.
- Die meisten Programmiersprachen können dies.


