XSS-Lücken (Cross-Site-Scripting) sind schon eine komische Angelegenheit. Eigentlich sind das Sicherheitslücken in Webseiten die meist ungefilterte Eingaben von Außen auf der Webseite wiedergeben. Das liegt klar in der Verantwortung der Webseitenbetreiber. Da aber ein sehr hoher Prozentsatz der Webseiten von Menschen betrieben wird die absolut keine Ahnung von dem Thema haben, greifen hier die Browser mit ein. Auch Google Chrome hat dafür einen Schutz. Dieser verhindert das übergeben JavaScript-Code der über Adress-Parameter übergeben wird dann beim Anzeigen auf der Webseite ausgeführt wird.
Bildschirmfoto 2015-08-25 um 14.01.31Der Benutzer Mahdi.Hidden (Google Chrome 44.0.2403.157 XSS Filter Bypass) von cxsecurity.com hat nun erneut herausgefunden wie man den Schutzmechanismus von Google Chrome leicht umgehen kann. Einen Fix gibt es dazu noch nicht.
Dabei wird dem Browser durch einen einfachen Trick vorgegaukelt, dass man ja gar keinen validen JavaScript-Code als Parameter übergibt. Das ganze funktioniert allerdings nur dann, wenn die Webseite 2 Variablen zur Ausgabe verwendet die hintereinander ausgegeben werden. Für den Browser sieht das aus als würden 2 unfertige JavaScript-Schnippsel in 2 Variablen übergeben. Durch die Ausgabe auf der Webseite wachsen diese beiden Teile allerdings wieder zusammen und werden entsprechend auf dem Rechner des Opfers ausgeben.

Beispiel: https://[HOSTNAME]/[PATH]/chrome.php?text1=<script>alert(/XSS/);document.write(‘&text2=’)</script>

Cross-Site-Scripting Allgemein
XSS bezeichnet das Ausnützen von Sicherheitslücken in Webanwendungen und kann z.B. in Webformularen mit Kommentarfunktionen durch Einbetten und Ausführen von Scripten eingesetzt werden. In der Regel greifen hierbei Sicherheitsmechanismen des Browsers und filtert diese Prozesse aus.

Bildschirmfoto 2015-08-26 um 10.08.06

greifender Schutzmechanismus des Browers

Wenn allerdings seitens des Benutzer auf vertrauten Website diverse Scripte untergebracht werden, die nicht vertrauenswürdig sind, fällt das im ersten Augenblick nicht auf. Diese Scripte sind meistens JavaScripte, die durch mögliche Angreifer eingeschleust wurden.
Diese könnte so aussehen:

JavaScript Schadcode

Besucher, die diesen Kommentar lesen, führen diesen Script aus und loggen sich automatisch am Forum/Blog aus. Kriminelle hätten hier die Möglichkeit anderen schadhaften Code einzuschleusen. Die meisten Kommentarfelder hingegen erlauben nur die Buchstaben A-Z, a-z und Zahlen von 0-9. Eine weitere Möglichkeit für Webmaster ist die Blockierung von Tags wie „<script>“. Dass dies nicht sonderlich effektiv ist wird weiter unten deutlich.
Hat ein Angreifer Zugang zum Quellcode der Seite, so kann er seinen Code, der beim Absenden des Formulars mit ausgeführt wird, sehr gut verstecken und so z.B. Login-Informationen auf eine fremde Seite umleiten. Beispiel:

Klickt der Benutzer anstatt des Login-Buttons auf das Bild unten, so werden die Login Informationen an einen fremden Server versendet und landen in den Händen von Dritten.
YouTube: XSS: Die ewige Gefahr – SemperVideo
YouTube

By loading the video, you agree to YouTube's privacy policy.
Learn more

Load video


Fazit: Auf der Anwenderseite schützen Sie den Browser durch Installation von Addons wie NoScript (Firefox) oder ScriptBlock (Chrome). Zudem sollten Anwender sehr aufmerksam beim Eingeben von persönlichen Informationen sein. Informieren Sie sich regelmäßig über neue Schwachstellen und Exploits in unserem Blog und seien Sie wachsam.
Sind Sie Betreiber von Webseiten, dann zeigen „Sie“ Vorbild und registrieren sich beim kostenfreien Service der Initiative-S.