Revision 202: Sicherheitslucken DOM Clobbering, XSS via CSS, ES6 Fallen

Published: Dec. 29, 2014, 9:29 p.m.

Wir haben uns kurz vor Heiligabend den Mario Heiderich eingeladen, um \xfcber\ngrauenvolle, abstruse und schier unl\xf6sbare Sicherheitsl\xfccken moderner Browser zu\nreden. Der richtige Stoff f\xfcr besinnliche Weihnachtsstimmung und frohlockende\nAusblicke ins neue Jahr!\n\n\nSCHAUNOTIZEN\n\n[00:00:11] DOM CLOBBERING, XSS VIA CSS, TEMPLATE INJECTION, ETC.\n\nMario Heiderich, ehemaliger Webentwickler, heutiger Security-Experte, erz\xe4hlt\nuns von den ganzen, dunklen Seiten der modernen Webentwicklung, die verheerende\nSch\xe4den anrichten k\xf6nnen, ohne das wir uns richtig wehren k\xf6nnen. So beschreibt\ner aktuelle Sicherheitsl\xfccken in den Template Engines von AngularJS oder KendoUI\nund h\xe4lt auch fest, dass diese Dinge gerne von den Bibliotheksherstellern auch\nmal auf die lange Bank geschoben werden (wie beispielsweise Frederic Hembergers\njQuery Pull Request von \u201eneulich\u201c zeigt). Es gibt Hilfestellungen, wie\nbeispielswiese Marios DOMPurify, mit dem man Zeichenketten auf verd\xe4chtigen Code\npr\xfcfen und gegebenenfalls bereinigen kann.\n\n\n\nEs muss allerdings nicht immer JavaScript sein. Mit CSS kann man mit Hilfe der\n@-moz-document Regel und Regular Expressions im Firefox ganz einfach Session\nToken aus der URL klauen. Mario erkl\xe4rt ausserdem, wie man die Paint-Zyklen der\nBrowser und CSS Filter dazu ausnutzen kann, um auf bestimmte Zeichen zu\nschlie\xdfen, die der Benutzer eingibt. Zuk\xfcnftige Spa\xdfquelle bieten SVGs im\nAllgemeinen und SVGs in Webfonts im Speziellen.\n\nEbenfalls l\xfcckenreich und angriffsanf\xe4llig ist der DOM. Mit In the DOM, no one\nwill hear you scream gibt es einen mittlerweile sehr bekannten Talk von Mario,\nder uns das Prinzip des DOM Clobbering n\xe4herbringt. Der Abw\xe4rtskompatibilit\xe4t\nvon HTML sei es geschuldet, dass man derartige Dinge \xfcberhaupt durchf\xfchren kann.\n\nDass man allerdings auch mit kommenden Technologien allerlei Unfung anstellen\nkann, zeigt der Ausblick auf Template Strings in EcmaScript 6. Mario sieht sich\nin seiner Rolle f\xfcr die n\xe4chsten Jahre auf jeden Fall besch\xe4ftigt.\n\nAbhilfe gew\xfcnscht? Mario l\xe4sst uns nicht im Schneeregen stehen, sondern gibt\nauch ein paar hilfreiche Schutzhinweise. F\xfcr hundertprozentige Absicherung\nempfiehlt die Workingdraft Crew eine Ausbildung zum Reisbauer auf dem zweiten\nBildungsweg.\n\nWeitere Links zu den Themen, die besprochen wurden:\n\n * XSS CHallenge Wiki von Mario\n * Sicherheitsl\xfccken im Test auf html5sec.org\n * EcmaScript 6 Compatibilty Table\n * Mustache Security\n\nZu guter Letzt gibt es noch einige Hinweise auf themenbezogene Konferenzen.\n\n\n[01:35:37] KEINE SCHAUNOTIZEN\n\nHTTPS MYTHEN\n\nGolem kl\xe4rt auf, was es mit den herumschwirrenden HTTPS Ger\xfcchten und Mythen\ntats\xe4chlich auf sich hat.\n\nLET\u2019S MAKE A FIREFOX EXTENSION, THE PAINLESS WAY\n\nEin knackiges Tutorial beschreibt, wie man Extensions f\xfcr Firefox entwickelt.\n\nFLEXBOX ADVENTURES\n\nSchon wieder ein Flexbox Tutorial? Ja! Dieses zeigt allerdings interaktiv und\nausf\xfchrlich, was es mit den Properties flex-grow, flex-shrink und flex-basis auf\nsich hat.