Benutzer-Werkzeuge

Webseiten-Werkzeuge


cross-site-scripting

sicherheit web

Cross-Site-Scripting umgeht die Same-Origin-Policy des Browsers.
Bei der Same-Origin-Policy geht es darum, dass Scripte nur auf Seiteninhalte zugreifen können wenn Sie von der gleichen Domain geladen wurden.
Das heißt, ist in einem iframe zum Beispiel Werbung geladen und diese enthält Scripte, können diese Scripte zum Beispiel nicht auf die Logindaten im Formular auf der Hauptseite zugreifen.

Basisidee

  • Der Angreifer muss es schaffen das, dass JavaScript im Kontext der anzugreifenden Seite ausgeführt wird
  • wenn er das schafft kann er Daten auf der Seite auslesen

Umsetzung

Lokal über Parameter

  • Auf der Website die aufgerufen wird (die muss nicht mal mit einem Server interagieren) muss ein Java-Script sein welches
  • es wird ein Link an das Opfer gesendet, welcher die lokale Website aufruft und als Paremter das auszuführende Java-Script enthält
  • dadurch das der Parameter ausgewertet wird, wird das Java-Script im Parameter aufgerufen und ausgeführt

Reflective/Reflektierend bzw. not-persistent/nicht persistent

  • Der Server darf die Eingabewerte nicht auf Javascript prüfen
  • der übergebene Parameter muss irgendwo auf der Antwort-Seite erscheinen
  • Opfer bekommt eine URL gesendet, welches das JavaScript als Wert eines URL-Parameters übergibt
    • zum Beispiel als Suchstring eines Suchfelder oder als Parameter welcher in einem Formular steht
  • die URL wird durch den Aufruf an den Server gesendet
  • der Server gibt die Seite zurück, inkl. dem ausgefüllten Formular aka. das Java-Script
    • da HTML-Elemente andere Elemente enthalten dürfen, wird das Java-Script ausgeführt

Persistent/Beständig

  • der Server darf die EIngaben nicht auf JavaScript überprüfen
  • das Java-Script wird durch den Angreifer in ein Feld abgespeichert welches frei zugänglich auf der Website erscheint (also für jeden einsehbar)
    • zum Beispiel als Kommentar/Posting
  • wenn jemand die Website aufruft, wird der Java-Script-Code ausgeführt
cross-site-scripting.txt · Zuletzt geändert: 2016/03/17 20:09 von root