Zum Hauptinhalt springen

Cross Site Scripting

Das Cross Site Scripting (XXS) ist eine beliebte Angriffstechnik im Internet, bei der bösartiger Code sowohl auf Server- als auch auf Clientseite ausgeführt wird, um vertrauliche Daten oder digitale Identitäten zu stehlen. Neben SQL-Injections stellt Cross-Site-Scripting, auch XSS oder sogar allgemeine HTML-Injections genannt, die am häufigsten verwendete Angriffstechnik in Apps und Websites dar.[1]

Allgemeine Information

Cross Site Scripting-Angriffe setzen dies voraus

a) Ein Hacker oder Angreifer sendet einen geänderten Hyperlink an einen Empfänger (Benutzer oder Server).

b) Der Empfänger öffnet es durch Klicken oder verarbeitet es, weil es nicht verifiziert ist.

c) Im Browser des Empfängers ist JavaScript aktiviert (andere Skriptsprachen können ebenfalls verwendet werden).

d) Oder der Server, auf dem der Empfänger surfen wollte, verwendet Webanwendungen, die dynamische Websites bedienen, und die Daten werden nicht überprüft.

Ein Cross Site Scriptings-Angriff findet statt, wenn auf eine Website zugegriffen wird. Wenn ein Benutzer eine Website besucht, um Anmeldeinformationen einzugeben, sendet der Browser ein Formular mit Daten an den Server. Der Server gewährt Zugriff auf das Webportal, wenn die Daten korrekt sind. Ein Cross-Site-Scripting-Angriff findet genau zwischen diesen beiden Websites statt und es müssen keine unterschiedlichen Websites mit unterschiedlichen URLs sein. Vielmehr wird die XXS-Technik so eingesetzt, dass Dynamisch generierte Sites stehen zwischen Client und Server, während Daten eingegeben werden. Die Antworten vom Server werden nachgeahmt, um die vom Benutzer eingegebenen Daten an eine vom Angreifer festgelegte Adresse zu senden.

Dies erfolgt durch Ausführen von Skripten, die der Angreifer zwischengeschaltet hat. Diese Skripte verwenden Parameter wie GET, POST und (document.cookie), um die Kommunikation zwischen dem Client und dem Server zu untergraben. Sowohl die HTML-Markup-Sprache als auch die PHP-Programmiersprache unterstützen diese Methoden. Da Millionen von Websites diese Sprachen verwenden, sind XSS-Angriffe ein wirksames Mittel, um auf Benutzerdaten zuzugreifen.

Eigenschaften

Cross Site Scripting ist in drei Arten von Angriffen unterteilt:[2]

1.) Hartnäckig: Bei anhaltenden XSS-Angriffen bleibt der Schadcode auf dem Bildschirm und der Benutzer ist nicht unbedingt identifizierbar. In Foren, Communitys oder Web-Gästebüchern wird bösartiger Code nicht gefiltert und in Form von Links dargestellt, da diese Websites normalerweise Ihre Einträge überprüfen. Ein anhaltender XSS-Angriff kann im Cache einer Webanwendung oder in einer verbundenen Datenbank dieser Websites stattfinden. Anhaltende Angriffe immer Sie befinden sich auf der Serverseite und haben ein großes potenzielles Risiko.

2.) Nicht persistent: Hier erhält der Benutzer einen manipulierten Link. Sobald auf den Link geklickt wird, wird der Schadcode gestartet und ein Skript ausgeführt. Oft werden gefälschte E-Mails von Angreifern gesendet, um Benutzer zur Interaktion zu verleiten. Angreifer ahmen Formulare und Websites nach und fügen ein Skript ein, um Sitzungscookies mit Benutzerdaten zu erreichen. Das mit nicht persistenten XSS-Angriffen verbundene Risikopotenzial ist relativ gering, da sie ein hohes Maß an Benutzerinteraktion erfordern. Sie sind immer auf der Client-Seite und werden normalerweise in Verbindung mit dynamischen Websites verwendet.

3.) Lokal: In diesem Fall wird der Schadcode direkt an einen Client gesendet, um beispielsweise im Browser ausgeführt zu werden. Ein lokaler XSS-Angriff ist immer direkt ausführbarer Schadcode, der nicht von einer Sicherheitsanfälligkeit in der Server-Client-Kommunikation abhängt. Es handelt sich vielmehr um einen direkten Angriff in Form eines Skripts, bei dem bestimmte Informationen abgefragt werden, z. B. URL-Grundlagen oder Skript-Tags. Nach der Abfrage wird der Schadcode im Hintergrund ausgeführt ohne das Wissen des Benutzers. Lokale XSS-Angriffe zielen darauf ab, statische HTML-Seiten anzugreifen, sind jedoch auch darauf angewiesen, dass ein Benutzer auf einen schädlichen Link klickt.

Gegenmaßnahmen gegen Cross Site Scripting

Sowohl Benutzer als auch Webmaster können Schutzmaßnahmen ergreifen. Benutzer können beispielsweise das NoScript-Plugin verwenden, das die Ausführung von Skripten verbietet. Es ist sogar möglich, JavaScript zu deaktivieren. Es werden jedoch auch andere Programmiersprachen wie VBScript, PHP und Pearl verwendet. Es ist besonders wichtig, dass Benutzer skeptisch sind, wenn sie Hyperlinks in E-Mails, Nachrichten oder Foren finden, da XSS-Angriffe vorgeben, eine offizielle Website zu sein. Mit der richtigen Menge an Skepsis, Solche Risiken können von Anfang an ausgeschlossen werden. Für Webmaster und Hosts ist es entscheidend, dass die Programmierung des Quellcodes, insbesondere des Datenformats, erfolgt richtig und sicher. Alle Daten auf dem Formular müssen überprüft werden, um die Richtigkeit in Bezug auf Zeichen, Codierung und Integrität zu überprüfen. Weiße Listen, die definieren, welche Daten zulässig sind, gelten als Best Practice. Große Projekte sammeln auch viele Daten. Daher werden Aktionen empfohlen, die bestimmte Skriptzeichen konvertieren. Dies verhindert, dass ausführbare Metaskripte vom Server oder Client gelesen werden. Das Umschreiben von Zeichen ist in jeder Programmiersprache möglich, indem sie ersetzt oder maskiert werden. Eine letzte, aber unsichere Aktion ist die Verwendung von WAFs: Web-App-Firewalls schützen spezielle Web-Apps vor unbefugtem Zugriff durch eine Firewall.

Bedeutung für SEO

Cross Site Scripting wird auch im Bereich SEO eingesetzt. Ein Webportal wird gehackt, um Backlinks darauf zu platzieren, die auf eine zu verstärkende Domain verweisen. Cross Site Scripting ist eine beliebte "Black-Hat" -Methode, bei der Schwachstellen in Servern und Clients ausgenutzt werden, um Links einzubetten, die dem Webmaster des betroffenen Webportals nicht bekannt sein sollten. Google und andere Suchmaschinen bestrafen diese Links, weil sie als manuelle und unnatürliche Maßnahmen gelten. Suchmaschinen können normalerweise nicht finden, woher diese Links stammen oder wie sie auf die Website gelangt sind.[3] Um Cross-Site-Scripting effektiv zu verhindern, muss der Webmaster die oben beschriebenen Maßnahmen ergreifen.

Web-Links

R Marketing Digital