Recentemente ho letto l'articolo Ned Batchelders sugli attacchi XSS UTF-7 . Ho provato i suoi esempi , ma non ho potuto ottenere alcun attacco UTF-7 per funzionare nei browser moderni. Ho provato le versioni recenti di Firefox, Chrome e Safari finora.
So che Chrome ha alcuni meccanismi di prevenzione degli attacchi XSS ma, secondo la mia esperienza, Firefox ha un meccanismo più "generoso" di esecuzione di javascript, anche quando è rotto - tuttavia, nessuno di questi browser sembra selezionare il set di caratteri UTF-7 di default se il sito sta usando (ma non lo dichiara esplicitamente).
Quindi: qualcuno sa perché questo non funziona più? Sembra che il meccanismo di rilevamento UTF-7 sia cambiato, forse anche per ragioni di sicurezza? Gli attacchi UTF-7 possono ancora bersagliare i browser moderni se non è possibile modificare la dichiarazione del charset all'interno del documento o manipolare le intestazioni?