Продолжение обсуждения из темы Безопасно ли разрешать загрузку HTML-файлов?:
Ответы в теме сводились к вопросу: «Зачем вам это вообще нужно?». У меня есть ответ.
Наш форум посвящён разработке веб-игр. Я хотел бы, чтобы наши пользователи могли распространять свои игры друг другу через форум. (Но не в том случае, если это приведёт к XSS-атаке.)
Поскольку загруженные HTML-файлы всегда имеют заголовок «Content-Disposition: attachment» (как, кажется, и происходит сейчас), я не знаю о каких-либо XSS-атаках, которые это могло бы позволить, или даже о новых видах фишинговых атак. Ссылки на HTML-файлы будут принудительно скачивать их, а не открывать напрямую на сайте форума.
(Отмечу, что Gmail позволяет пользователям скачивать вложения в виде HTML-файлов; всё работает нормально.)
Конечно, фишинговые атаки могут быть чрезвычайно простыми. Сегодня любой участник TL1 может просто отправить личное сообщение пользователю форума и сказать: «Привет, я администратор этого форума. Пожалуйста, отправь мне свой пароль». Точно так же они уже могут создать сайт на evil.example.com, который выглядит в точности как страница входа на форум, и попытаться обманом заставить пользователей перейти по ссылке и ввести там свой пароль.
Думаю, они также могли бы попробовать сделать то же самое с вложением, сказав: «Привет, я управляю этим форумом, пожалуйста, скачай и открой этот файл, хорошо?», и этот файл может содержать макет страницы входа на форум.
Но скачивание HTML-файла и его двойной клик не будут более опасными с точки зрения фишинга, чем предоставление пользователям возможности перейти по ссылке на вредоносный сайт. И поскольку этот способ сложнее, он, вероятно, обманет меньше пользователей, чем просто отправка ссылок на фишинговый сайт (традиционный метод).
Итак, существует ли здесь риск XSS? Или есть какая-то тонкая фишинговая атака, о которой я не знаю?