Revision 447: XSS und die HTML Sanitizer API

Published: Oct. 20, 2020, 7 a.m.

Viel zu lange ist es her (n\xe4mlich fast 6 Jahre), dass wir das letzte Mal \xfcber\ndas Thema \u201eSecurity\u201c im Frontend gesprochen haben. Mit Frederik Braun (@freddyb)\nvon Mozilla haben wir endlich wieder jemand zu Gast, der sich damit auskennt und\nder uns \xfcber neue fiese Tricks und aktuelle wie auch zuk\xfcnftige Abwehrstrategien\nins Bild setzen kann.\n\n\nSCHAUNOTIZEN\n\n[00:00:30] XSS UND DIE HTML SANATIZER API\n\nAngefangen bei einer Begriffsdefinition von Cross-Site-Scripting, aka XSS, und\nihrem historischen Einsatz arbeiten wir uns langsam vor zu den eher neueren\nKategorien der \u201eScript Gadgets (Video)\u201c (PDF) und der \u201eMutated XSS\u201c (Video)\n(Slides), bei denen im ersten Fall ein Frontend-Framework wie Bootstrap, und im\nzweiten die im Browser eingebauten (und standardisierten) HTML-Parser und\n-Serialisierer clever zu Komplizen gemacht werden. In solch einem Fall helfen\neinem Content Security Policy (CSP) oder auch Tools wie HTML Purifier, DOMPurify\noder Bleach nicht. Und auch Chromes Konzept der Trusted Types d\xfcrfte f\xfcr den\nDurchschnittsentwickler nicht geeignet sein. Deshalb arbeitet Frederik bei\nMozilla neuerdings an einer in den Browser eingebauten HTML Sanitizer API, die\nall die oben beschriebenen Schw\xe4chen nicht hat (ben\xf6tigt aktuell den Firefox\nNightly mit aktiviertem dom.security.sanitizer.enabled-Flag in about:configure).