fogli di stile personali

9

In riferimento a questa domanda , stavo ricercando se ci sarebbe stata o meno qualche sicurezza rischi nel consentire agli utenti di aggiungere i propri fogli di stile.

Visualizza uno scenario in cui un dev può utilizzare le posizioni per sostituire il campo di ricerca e password. Se, tuttavia, il CSS personalizzato è stato visto solo dall'utente che ha aggiunto gli stili, ci sono altri rischi?

Anche con expression() ? Perché non so perché qualcuno proverebbe a usare XSS.

    
posta Meghan 15.12.2015 - 06:23
fonte

2 risposte

4

Cerca di non vedere la sicurezza dal punto di vista dello sviluppatore, ma invece segui una serie di best practice. Ad esempio, accetti l'input da un utente, sotto forma di caricamento di file o immissione di testo, purifica il contenuto, guarda le risposte a questa domanda per suggerimenti su come disinfettare i css definiti dall'utente.

Non darei per scontato che il css possa provenire solo dall'utente che lo vedrà, questo è probabilmente il requisito attuale, ma non sarei sorpreso se in futuro una serie di modifiche permetterebbe a questa restrizione di essere bypassato.

Inoltre, a seconda dell'implementazione (ad esempio se pubblichi un URL in un file css) qualcuno potrebbe essere tentato di provare a cambiare tutti gli URL per uno malevolo ( link - > link ), pensa XSS , iniezione, ecc ...

In breve, il mio consiglio è di implementare tutte le misure di sicurezza disponibili in considerazione dei vincoli del progetto.

    
risposta data 15.12.2015 - 07:26
fonte
2

Tieni presente che la persona che ha effettuato l'accesso al sito potrebbe non essere la persona che possiede l'account. Se qualcuno ottiene il controllo dell'account di un utente, può cambiare il foglio di stile per attaccare l'utente al successivo accesso. Oppure, se questa persona trova un modo per cambiare il foglio di stile di un altro utente tramite un exploit, può attaccare tutti gli utenti del tuo sito in una volta!

Avresti ragione a ritenere che queste vulnerabilità siano pericolose da sole. Tuttavia, le vulnerabilità nei progetti di grandi dimensioni tendono a valanghe di neve, e non dovresti rendere facile per qualcuno attaccare gli altri da un piccolo appiglio. Falli lavorare per questo! Chiudi tutti i buchi di sicurezza che trovi, non importa quanto minori.

    
risposta data 15.12.2015 - 18:13
fonte

Leggi altre domande sui tag