#javascript #svg #xss
#javascript #svg #xss
Вопрос:
Существует ли угроза XSS при загрузке ненадежного SVG-файла с использованием img
тега?
Как в: <img src="untrusted.svg"/>
Я читал, что большинство браузеров отключают скрипты в файлах svg, загружаемых с помощью img
тега.
Комментарии:
1. Все браузеры отключают скрипты для тегов img AFAIK, дайте мне знать, если вы найдете тот, который этого не делает.
Ответ №1:
Раньше это работало в некоторых браузерах, но больше нет. Однако существует связанная с этим проблема. Если я, как неосведомленный пользователь, щелкну правой кнопкой мыши и загружу изображение, а затем открою его локально, оно, скорее всего, откроется в браузере, и скрипт запустится. Что немного странно, учитывая, что это изображение. Я полагаю, если вы щелкните правой кнопкой мыши и выберите «просмотреть изображение», это также может привести к запуску скрипта, потому что вы открываете его напрямую.
Комментарии:
1. Вы правы в том, что скрипт может запускаться, если вы открываете файл локально, но в этой среде он мало что может сделать. Политика того же источника JavaScript запрещает ему доступ к любым файлам cookie или другой конфиденциальной информации после ее локальной загрузки.
Ответ №2:
Да, угрозы XSS действительно существуют при использовании SVG, большинство браузеров не позволяют запускать скрипт, но если он отправлен по электронной почте, он потенциально может быть запущен.
Некоторые ссылки на проблемы:
Масштабируемая векторная графика и XSS
Почему этот вектор XSS работает в svg, но не в HTML?
SVG Fun Time — вектор SVG для Firefox обход аудитора Chrome XSS