Come visualizzare in modo sicuro le email html come gmail, vero?

9

Sto costruendo una webmail, che deve essere in grado di visualizzare email html. Ma come prevenire gli attacchi xss e similiar, senza perdere la formattazione html?

In gmail, quando ricevo alcune email da, diciamo, twitter, sono ben formattate. Sto cercando qualcosa di simile.

Html5 supporta l'attributo sandbox per iframe, che sembra risolvere il mio problema, ma è mal supportato. Ho bisogno di una soluzione che funzioni nei browser MODERN, ma che non diventa insicura nei vecchi browser. È accettabile che questo NON FUNZIONA affatto nei vecchi browser, ma non può diventare insicuro. Dovrebbe funzionare in IE9 e versioni successive.

Quali sono le mie opzioni?

    
posta user3702861 01.03.2015 - 12:16
fonte

2 risposte

16

Google spende un sacco di soldi ogni anno in abbonamenti per garantire che Gmail non sia suscettibile di XSS. Parte di questo sforzo ha prodotto Google-Caja , che è un progetto open source che filtra HTML in un "sicuro" "sottoinsieme.

Sandbox con filtro HTML come Caja si basano su una soluzione "più vecchia" che utilizza tecniche di analisi complesse e migliaia di espressioni regolari per filtrare i payload XSS. Una soluzione "più recente" è la politica di sicurezza dei contenuti , che consente allo sviluppatore di costruisci pagine HTML totalmente immuni da XSS riflessivo e persistente, e questa è una protezione più strong di quella che Caja è in grado di fornire. CSP sarebbe la soluzione migliore, ma è "troppo nuovo", IE e browser meno recenti non lo supportano.

Se avessi bisogno di imprigionare l'HTML, userei Caja con un set di regole CSP rigoroso.

    
risposta data 01.03.2015 - 17:49
fonte
2

Puoi anche fare questo:

Per ogni pagina html che è incorporata in una mail, scarica img sul tuo server per scopi di visualizzazione, riscrivi ogni link per puntare alla cache, rimuovi javascript che risiede su quella pagina. Anche se questo potrebbe non essere una buona idea, caricare / denaro / storage / larghezza di banda saggia. Funziona molto bene sulle e-mail che ti vengono inviate, ma hai un qualche tipo di elemento callback / phone home.

    
risposta data 01.03.2015 - 20:19
fonte

Leggi altre domande sui tag