Ist es sicher, Benutzern das Bearbeiten von CSS zu erlauben?

7

Ich habe eine Webanwendung, mit der ich Endbenutzern erlauben möchte, das Aussehen der Website anzupassen, indem sie ihre eigene CSS-Datei hochladen.

Gibt es Sicherheitsprobleme damit? Ich kann nichts Offensichtliches sehen, dachte aber, ich würde fragen, ob es etwas gibt, das ich vermisst habe.

    
jcoder 21.09.2009, 09:07
quelle

7 Antworten

10

Javascript kann in CSS ausgeführt werden, Sie müssen sicherstellen, dass Sie eine Filterung verwenden.

Ich habe auch Fälle gesehen, in denen jemand die gesamte Seite einer von Microsoft kontrollierten Website mit einem transparenten Pixel abgedeckt hat und auf eine bösartige Website verlinkt ist. Durch Klicken auf eine beliebige Stelle wurde die Angreifer-Site angezeigt.

Dies könnte jedoch sicher sein, wenn der Benutzer nur sein eigenes CSS sieht, und sie könnten nicht sehen, was jemand anderes gesehen hat. Andernfalls würde eine Art Whitelist oder Markdown funktionieren.

    
Sam152 21.09.2009, 09:09
quelle
6

Kurze Antwort: Nein, ist es nicht. HTC in IE und XBL in Mozilla sind beide mögliche Angriffsvektoren. Ein Hack dieser Art wurde verwendet, um 30.000 MySpace Passwörter vor einer Weile zu stehlen.

Quelle: Simon Willison, Web Security Horror Stories

    
jammycakes 21.09.2009 09:20
quelle
3

Ich würde es nicht tun, weil CSS ein Bild anzeigen kann, das eine OS-Schwachstelle ausnutzen könnte in Beispiel.

Grüße.

    
ATorras 21.09.2009 09:14
quelle
2

Je nach Server und Konfiguration kann es möglich sein, serverseitigen Code aus einer CSS-Datei auszuführen (dies ist jedoch kein Standardverhalten auf Servern, die ich kenne).

    
Kobi 21.09.2009 09:12
quelle
2

Kurze Antwort: nein . Die ersten schlechten Dinge, die einem einfallen, sind MSIE-Ausdrücke.

    
n1313 21.09.2009 09:14
quelle
2

Wenn diese CSS-Dateien für alle Site-Benutzer verfügbar sind und nicht nur für die Person, die sie hochgeladen hat, gibt es eine mögliche XSRF vector - Sie könnten Links zu externen Ressourcen im CSS einfügen, die dem Benutzer, der sie anfordert, "unerwünschte" Effekte zufügen.

    
Paul Dixon 21.09.2009 09:15
quelle
2

Sie können einen Kunden-Support-Overhead erhalten, wenn ein Benutzer mit seinem benutzerdefinierten CSS den Bildschirm in dem Maße verschraubt, dass er die Steuerelemente nicht findet, um ihn zurückzusetzen. In diesem Fall müssen Sie als Administrator es manuell tun.

Für diesen Fall eine mögliche Lösung. Ordnen Sie eine bestimmte Url an, um den Stil zurückzusetzen. Etwas wie:

%Vor%

Und Ratschläge für den Benutzer, wenn er den Stil ändern möchte, um sich an diese URL zu erinnern und einfach zu folgen, wenn die Dinge außer Kontrolle geraten sind. Wenn Sie auf klicken, werden die benutzerdefinierten Stile deaktiviert.

    
user151323 21.09.2009 09:10
quelle

Tags und Links