Abo
  • Services:

Doppeltes Cross-Site-Scripting

Die Cross-Site-Scripting-Lücke, über die wir ursprünglich berichtet hatten, fand sich ebenfalls in der Suche auf der TÜV-Süd-Webseite. Wenn man in das Suchfeld Daten eingab, wurden diese in der Anzeige der Suchergebnisse in die Seite eingefügt. Allerdings standen die Daten nicht direkt im Quelltext der Seite. Vielmehr wurde via Javascript eine API angefragt, deren Ausgabe wurde anschließend in die Seite eingefügt.

Stellenmarkt
  1. Zentiva Pharma GmbH, Berlin
  2. B. Strautmann & Söhne GmbH & Co. KG, Bad Laer

Dieses indirekte Einfügen der Daten hat für den Angreifer einen Vorteil. Denn die Browser Chrome und Edge versuchen, triviale Reflected-XSS-Angriffe zu blockieren oder zu filtern. Der Nutzen dieser XSS-Filter ist umstritten. Microsoft hat kürzlich daher angekündigt, den Filter zu entfernen. Doch aktuell ist er noch aktiv.

Der Filter versucht zu erkennen, ob Daten, die an eine Webseite übergeben wurden, wie XSS-Code aussehen und in der Ausgabe der Webseite auftauchen. Je nach Konfiguration und Browser wird dieser dann aus der Seite herausgefiltert oder komplett blockiert. Im Fall der TÜV-Webseite scheitert der Filter, denn in der Seite selbst taucht der XSS-Angriffscode nicht auf, er wird erst später via Javascript eingefügt.

Einige Zeichen wurden dabei gefiltert, darunter Klammern. Doch das konnte man relativ einfach umgehen: Javascript-Klammern lassen sich durch Backticks ersetzen. HTML-Steuerzeichen wie <, > und doppelte Anführungszeichen waren zulässig, sie mussten hierfür jedoch doppelt codiert werden - als HTML-Entities und zusätzlich URL-codiert, was Browser aber automatisch machen.

Fehlermeldung von WAF erlaubt ebenfalls Cross-Site-Scripting

In einigen Fällen schlug der Angriff jedoch fehl, und zwar offenbar in Abhängigkeit von der verwendeten IP. Eine Analyse ergab dabei folgendes: Die Backend-API, die dort angefragt wird, filterte in einigen Fällen die Anfragen und gab eine Fehlermeldung aus.

Offenbar war hier eine Web-Application-Firewall aktiv, die gefährlich aussehende Anfragen blockierte. Doch diese hatte ebenfalls einen fatalen Fehler: Die blockierte Anfrage wurde als Teil der Fehlermeldung mit ausgegeben - was sich ebenfalls für einen Reflected-Cross-Site-Scripting-Angriff ausnutzen ließ.

Filterung immer noch unzureichend

Der TÜV hat beide Lücken inzwischen behoben - zumindest teilweise. Robust wirkt die Korrektur jedoch nicht: Weiterhin ist es möglich, im Suchfeld Anführungszeichen einzugeben, die anschließend in der Ausgabeseite eingefügt werden. Der Suchstring landet dabei im value-Attribut eines unsichtbaren Formularfeldes (<input type="hidden">).

Das Problem: Da ein solches unsichtbares Formularfeld nicht angezeigt wird, schlagen übliche Cross-Site-Scripting-Strategien fehl, die mittels Javascript-Handlern wie onmouseover versuchen, den entsprechenden Code auszuführen.

Zwar gibt es einen Trick, mit dem auch in solchen unsichtbaren Feldern Cross-Site-Scripting möglich ist: Man kann über das accesskey-Attribut das Feld mittels einer Tastenkombination aktivieren. Dafür muss man den User dann dazu bringen, die entsprechende Tastenkombination einzugeben.

In diesem Fall funktioniert dies jedoch nicht: Das Formularfeld taucht in der Ausgabeseite mehrmals auf, das accesskey-Attribut funktioniert aber nicht, wenn derselbe Tastencode mehrfach auf derselben Webseite zugewiesen wird. Es ist uns daher nicht gelungen, diese Schwäche auszunutzen, obwohl die Filterung unzureichend erscheint.

Auch die Fehlermeldung der Web-Application-Firewall konnten wir weiterhin auslösen - allerdings nicht im Browser. Sie wird ausgelöst, wenn uncodierte HTML-Tags in bestimmte GET-Variablen eingefügt werden. Doch Browser codieren HTML-Tags in URLs automatisch.

 Remote Code Execution: Die löchrige Webseite des TÜV Süd
  1.  
  2. 1
  3. 2


Anzeige
Hardware-Angebote
  1. ab 194,90€
  2. (u. a. Grafikkarten, Monitore, Mainboards)
  3. 199€ + Versand

zuschauer 07. Nov 2018

aber damals seid Ihr ja noch ins Gymnasium gegangen. Zum Glück kann man sich ja wehren...

dummzeuch 06. Nov 2018

Die Leute die andere Webseiten zertifizieren und die, die die eigenene Webseite bauen...

dummzeuch 06. Nov 2018

Den TÜV (Süd, in diesem Fall, denn es gibt ja in Deutschland drei unterschiedliche TÜVs...

joediboe 06. Nov 2018

Was genau haben die Waffen der Polizei/BW und Politiker mit der Webseite des TÜV Süd zu...

Truster 06. Nov 2018

... Wenn sie das denn können, ich habe schon Sachen erlebt....


Folgen Sie uns
       


Cray X Exoskelett angesehen (Hannover Messe 2019)

Cray X ist ein aktives Exoskelett, das beim Heben unterstützt. Das Video stellt das System vor.

Cray X Exoskelett angesehen (Hannover Messe 2019) Video aufrufen
Adblock Plus: Adblock-Filterregeln können Code ausführen
Adblock Plus
Adblock-Filterregeln können Code ausführen

Unter bestimmten Voraussetzungen können Filterregeln für Adblocker mit einer neuen Funktion Javascript-Code in Webseiten einfügen. Adblock Plus will reagieren und die entsprechende Funktion wieder entfernen. Ublock Origin ist nicht betroffen.
Von Hanno Böck

  1. Urheberrecht Axel-Springer-Verlag klagt erneut gegen Adblocker
  2. Whitelisting erlaubt Kartellamt hält Adblocker-Nutzung für "nachvollziehbar"
  3. Firefox Klar Mozilla testet offenbar Adblocker

Adblock Plus: Adblock-Filterregeln können Code ausführen
Adblock Plus
Adblock-Filterregeln können Code ausführen

Unter bestimmten Voraussetzungen können Filterregeln für Adblocker mit einer neuen Funktion Javascript-Code in Webseiten einfügen. Adblock Plus will reagieren und die entsprechende Funktion wieder entfernen. Ublock Origin ist nicht betroffen.
Von Hanno Böck


    Days Gone angespielt: Zombies, Bikes und die Sache mit der Benzinpumpe
    Days Gone angespielt
    Zombies, Bikes und die Sache mit der Benzinpumpe

    Mit dem nettesten Biker seit Full Throttle: Das Actionspiel Days Gone schickt uns auf der PS4 ins ebenso große wie offene Abenteuer. Trotz brutaler Elemente ist die Atmosphäre erstaunlich positiv - beim Ausprobieren wären wir am liebsten in der Welt geblieben.
    Von Peter Steinlechner


        •  /