Definition Cross Site Scripting (XSS)

Was ist Cross-Site-Scripting (XSS)?

| Autor / Redakteur: Tutanch / Peter Schmitz

Cross Site Scripting (XSS) ist eine häufig verwendete Angriffsmethode im Internet, bei der Schadcode in eine vermeintlich vertrauenswürdige Webseite eingeschleust wird.
Cross Site Scripting (XSS) ist eine häufig verwendete Angriffsmethode im Internet, bei der Schadcode in eine vermeintlich vertrauenswürdige Webseite eingeschleust wird. (Bild: Pixabay / CC0)

Cross Site Scripting (XSS) ist eine der am häufigsten genutzten Angriffsmethode im Internet. Ziel des webseitenübergreifenden Skriptings ist es, an vertrauliche Daten zu gelangen, Anwendungen zu übernehmen oder sonstigen Schaden anzurichten. XSS bettet den Angriffscode in einen vermeintlich sicheren Kontext ein.

Die Abkürzung XSS steht für Cross Site Scripting und bezeichnet eine der häufigsten Angriffsmethoden im Internet. Durch eine Sicherheitslücke auf dem Client oder den Server gelingt es dem Angreifer, seinen Schadcode in eine vermeintlich vertrauenswürdige Umgebung einzubetten. Mit XSS lassen sich Internetseiten verändern, Browser übernehmen oder vertrauliche Informationen wie Passwörter entwenden.

Cross Site Scripting zählt zu den aktiven Angriffsmethoden und kann als Grundlage für weitere Angriffe verwendet werden. Die Angriffsmethode nutzt die im Internet weit verbreiteten Skriptsprachen wie JavaScript. XSS kann erfolgreich sein, wenn die Webanwendung die entgegengenommenen Daten nicht ausreichend prüft und sie anschließend weiterverarbeitet oder weiterreicht. So lassen sich Skripte an einen Webserver oder an einen Browser senden, der diese ausführt. Cross Site Scripting unterscheidet drei verschiedene Angriffsarten. Diese sind:

  • reflektiertes XSS
  • persistentes XSS
  • lokales XSS

Reflektiertes Cross Site Scripting

Reflektiertes Cross Site Scripting läuft serverseitig ab. Ein Opfer klickt eine präparierte URL an, in der schädlicher Code eingefügt ist. Der Server übernimmt diesen Code aufgrund mangelnder Absicherung und generiert eine dynamisch veränderte Webseite. Der Anwender sieht eine vom Angreifer manipulierte Webseite und hält sie für vertrauenswürdig. Von ihm gemachte Eingaben lassen sich anschließend beispielsweise an einen Server des Angreifers weiterleiten.

Reflektiertes Cross Site Scripting lässt sich sehr gut für Phishing-Angriffe verwenden. Da der Nutzer die durch XSS veränderten Webseiten für echt hält, hegt er keinen Verdacht und gibt vertrauliche Anmeldedaten ein, die der Angreifer erhält.

Persistentes Cross Site Scripting

Beim persistenten XSS ist ebenfalls eine Sicherheitslücke auf dem Server der Ausgangspunkt des Angriffs. Der Angreifer übergibt den Schadcode durch das Aufrufen eines manipulierten Links an den Server. Dieser speichert anschließend die Veränderungen dauerhaft (persistent) in seiner Datenbank. Der Anwender selbst muss keinen manipulierten Link aufrufen. Durch die Veränderung der Datenbank des Webservers können allen Besuchern beim Aufruf des regulären Links manipulierte Seiten angezeigt werden.

Oft nutzen Angreifer ungenügend geschützte Foren auf dem Webserver, um ihren Code zu übermitteln. Ein einfacher Foreneintrag mit dem schädlichen Skriptcode kann schon ausreichend sein. Anschließend kann der manipulierte Webserver dazu verwendet werden, Zugangsdaten von Anwendern abzugreifen.

Lokales Cross Site Scripting

Für lokales XSS ist keine Sicherheitslücke auf einem Webserver erforderlich. Der Schadcode wird direkt an den Anwender gesendet und beispielsweise im Browser ausgeführt, ohne dass der User dies bemerkt. Ausgangspunkt des Angriffs ist das Anklicken eines manipulierten Links durch den Anwender. Aufgrund des im Browser platzierten Scripts, lassen sich auch statische Webseiten in veränderter Form auf dem Clientrechner anzeigen. Besitzt der Browser besondere Rechte auf dem Rechner, ist es zudem möglich, lokale Daten auf dem Gerät zu verändern.

Ein möglicher Angriff per lokalem Cross Site Scripting kann folgendermaßen ablaufen. Ein Anwender bekommt per Mail einen manipulierten Link geschickt und klickt diesen an. Durch das Öffnen des Links integriert der Browser ein clientseitiges JavaScript, das die schädliche Anwendung startet.

Schutzmaßnahmen gegen XSS

Clientseitig kann man sich gegen lokales Cross Site Scripting schützen, indem man dem Browser verbietet, Skripte wie JavaScript auszuführen. Zudem sind Addons für Browser erhältlich, die die Ausführung von Skripten unterbinden. Grundsätzlich ist es wichtig, per E-Mail empfangene Links kritisch zu prüfen und nicht beliebig aufzurufen. Webmaster schützen ihre Server vor reflektiertem oder persistentem Cross Site Scripting durch Absicherung des Server-Quellcodes. Sämtliche vom Server zu verarbeitenden Daten sind vor der Ausführung zu prüfen. Hierfür lassen sich Whitelists mit den erlaubten Daten einsetzen. Auch das generelle Umwandeln von bestimmten Skript-Zeichen ist eine beliebte Methode. Dies verhindert, dass ausführbare Metazeichen der Skripte vom Server eingelesen werden.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Schwachstellen in Webanwendungen

Spannende Zahlen aus 2017

Schwachstellen in Webanwendungen

Sicherheitslücken in Webanwendungen nehmen immer weiter zu, neben bekannten Kategorien wie Cross-Site Scripting gibt es auch neue Bedrohungen wie „unsichere Deserialisierung“. Mit dem Erfolg des Internet der Dinge (IoT) wachsen die Risiken weiter und beeinflussen die Sicherheitslandschaft dauerhaft. WordPress und PHP bleiben „dominierend“ im Hinblick auf veröffentlichte Sicherheitslücken in Content-Management-Systemen beziehungsweise serverseitigen Technologien. lesen

Kali Linux installieren und Hacking-Lab aufsetzen

Kali Linux Workshop, Teil 1

Kali Linux installieren und Hacking-Lab aufsetzen

Angehende Sicherheitsexperten, Pentester und IT-Verantwortliche finden in Kali eine umfangreiche Plattform, um digitale Attacken zu planen und durchzuführen. Warum sollte man dies tun? Zum einen um sich mit potentiellen Angriffen auf die eigenen Systeme auseinanderzusetzen und zum zweiten um interne oder externe Schwachstellentests besser zu verstehen. Im ersten Teil stellen wir Kali genauer vor und erklären, wie sich ein Hacking-Lab aufzusetzen lässt. lesen

Grundlagen der Web Application Firewalls

Umfassender Schutz für Web-Anwendungen

Grundlagen der Web Application Firewalls

Eine Web Application Firewall (WAF) überwacht und schützt Webanwendungen, die über das HTTP-Protokoll arbeiten. Eine WAF arbeitet regelbasiert, um Angriffsarten wie zum Beispiel Cross Site Scripting (XSS), Angriffe oder SSL-Injections abzuwehren oder aktuelle Applikationen vor neu entdeckten Sicherheitslücken mittels virtueller Patches zu schützen. lesen

Security Awareness für Programmierer

Security-Startups im Blickpunkt: Securai

Security Awareness für Programmierer

Hacker, Malware und Cyberspionen wirksam den Zugriff auf digitale Unternehmenswerte zu verwehren ist nicht einfach. Man investiert dafür in clevere Software, durchdachte Prozesse und letztendlich auch in Security Awareness beim Mitarbeiter, der als engagierter Wächter ebenfalls Bedrohungen erkennen und eliminieren soll. Gerade Gruppen wie Programmierer bleiben bei diesen Maßnahmen aber oft inhaltlich ausgeschlossen, da man nicht auf Ihre Bedürfnisse eingeht. lesen

Mit Burp Suite Schwachstellen in Web applications finden

Tool-Tipp: Burp Suite

Mit Burp Suite Schwachstellen in Web applications finden

Mit der Burp Suite können Administratoren den HTTP/HTTPS-Verkehr zu Webanwendungen abfangen und manipulieren, bevor er an den Server geschickt wird. Dadurch lassen sich Sicherheitslücken in Webanwendungen schnell und effektiv entdecken. lesen

DevOps mit RASP sicherer machen

Runtime Application Self Protection

DevOps mit RASP sicherer machen

DevOps stellt besondere Herausforderungen an die IT-Sicherheit. Kontinuierliches Feedback aber kann Anwendungen sicherer machen kann. In diesem Beitrag schauen wir uns an, welche Technologien dabei helfen. lesen

Java-Anwendungen im Visier von Cyber-Angriffen

Veracode-Studie

Java-Anwendungen im Visier von Cyber-Angriffen

Fehlende Visibilität und das Management von Open-Source-Komponenten in Unternehmensanwendungen sind laut einer Studie von Veracode die Gründe dafür, dass Java-Anwendungen anfällig für Cyber-Angriffe sind. lesen

Wächter der Compliance

Web Application Firewalls

Wächter der Compliance

Dass IT-Sicherheit ein sehr wichtiges Thema ist, wissen wir nicht erst seit dem WannaCry-Vorfall. Dieser hat aber noch einmal deutlich gemacht, dass bei vielen Firmen IT-Sicherheit stark vernachlässigt wird. lesen

Container-Sicherheit mit Twistlock

Schwachstellenanalyse für Container und Cloud, Teil 2

Container-Sicherheit mit Twistlock

Das Twistlock-Framework verspricht einen integrierten Ansatz, um Container-Sicherheit zu gewährleisten und zu überwachen. Denn im Gegensatz zum traditionellen Vorgehen klinkt sich Twistlock vollständig in die Continuous-Integration-Pipelines z. B. mit Jenkins ein und interagiert nativ mit Docker oder Kubernetes. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45208724 / Definitionen)