XSS при загрузке ненадежного SVG с использованием тега img

#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

PDF об опасном SVG