SRC изображения и безопасность - PullRequest
2 голосов
/ 26 ноября 2011

Что если я позволю пользователям вставлять ссылки на изображения своего хоста, нужно ли мне предотвращать какие-либо проблемы безопасности?

Чтобы лучше объяснить, <img src="somedomain/somefile"/> в таком случае должен сделать мой сайт уязвимым?

Ответы [ 2 ]

4 голосов
/ 26 ноября 2011

Одна потенциальная проблема с разрешением произвольных URL-адресов изображения состоит в том, что хост изображения может отслеживать все представления и IP-адреса.На форуме с небольшим трафиком, который может поставить хост изображения в положение, позволяющее идентифицировать IP-адреса конкретных пользователей.

Другой - вы не контролируете то, что показано на изображении.Ресурс изображения может быть динамичным и в любой момент времени показывать практически что угодно любому пользователю.

Тогда существует очень отдаленный риск использования изображения в браузере или библиотеке изображений посетителя.Но они чрезвычайно редки и могут быть быстро исправлены - мне самому известно только один экземпляр , это произошло в более широком масштабе.

Переполнение стека огромноохват и трафик по-прежнему позволяют получать внешние изображения - из этого я склоняюсь к выводу, что риски в некоторой степени управляемы.

Тем не менее, если вы действительно хотите убедиться, лучше всего извлечь ресурс изображения, скопировать его с помощью библиотеки изображений (чтобы убедиться, что это реальное изображение и удалить любые конфиденциальные метаданные) и сохранитьэто на вашем сервере.

2 голосов
/ 26 ноября 2011

Также, если вы делаете простую вставку строки в вашу разметку, кто-то может закрыть тег изображения и запустить тег сценария или что-то в этом роде. Поэтому вы должны следить за внедрением скрипта в любой форме, которую пользователь получает для установки такого атрибута изображения src.

Например, что, если для изображения src установлено следующее:

myimagefile.jpg" /><script> ... </script>

Вы можете видеть, как это вообще избавит от вкладки изображения и начнет делать что-то еще в теге скрипта. Вам нужно убедиться, что все, что они вводят, действительно указывает на изображение, прежде чем сохранить его и начать писать на живых страницах.

Этот стиль внедрения скриптов может, например, считывать из формы на странице (может быть, включая личную информацию, данные для входа в систему или идентификаторы сеанса) и отправлять информацию конечных пользователей обратно в точку сбора данных о плохих хакерах с помощью jsonp.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...