Continuando la discusión de ¿Es seguro permitir subidas de HTML?:
Las respuestas en el hilo fueron del tipo “¿por qué querrías esto?”. Tengo una respuesta.
Nuestro foro está dedicado al desarrollo de juegos basados en web. Me gustaría que nuestros usuarios pudieran distribuir sus juegos entre sí utilizando el foro. (Pero no si causa un ataque XSS).
Mientras los archivos HTML subidos siempre tengan “Content-Disposition: attachment” (como parece que lo hacen), no conozco ningún ataque XSS que esto habilitaría, ni siquiera un ataque de phishing novedoso. Los enlaces al archivo HTML forzarán su descarga, no su apertura directa en el sitio del foro.
(Nótese que Gmail permite a los usuarios descargar archivos adjuntos en formato HTML; parece estar bien).
Por supuesto, los ataques de phishing pueden ser extremadamente simplistas. Hoy en día, cualquiera en TL1 puede enviar un mensaje directo a un usuario del foro y decir: “Hola, soy el administrador de este foro. Por favor, envíame tu contraseña”. Del mismo modo, ya pueden crear un sitio web en evil.example.com diseñado para parecerse exactamente a la página de inicio de sesión del foro, y podrían intentar engañar a los usuarios para que hagan clic en ese enlace y escriban su contraseña allí.
Supongo que también podrían intentar hacerlo con un archivo adjunto, diciendo: “Hola, administro este foro, por favor descarga este archivo y ábrelo, ¿de acuerdo?” y ese archivo podría incluir una maqueta de la página de inicio de sesión del foro.
Pero descargar un archivo HTML y hacer doble clic en él no sería más peligroso desde la perspectiva del phishing que permitir a los usuarios hacer clic en un enlace a un sitio web malicioso. Y, dado que es más complicado, probablemente engañará a menos usuarios que simplemente enviar enlaces a un sitio de phishing (la forma tradicional).
Entonces, ¿hay un riesgo de XSS aquí? ¿O un ataque de phishing sutil que no conozco?