Представляют ли междоменные значки угрозу безопасности?
-
11-09-2019 - |
Вопрос
У меня есть сайт с новостными статьями, отправленными пользователями, и идея этой функции заключалась в том, чтобы захватить значок на целевом сайте и отобразить его вместе со ссылкой.
Методологией получения значка будет проверка наличия файла favicon.ico на целевом сервере.Отобразит ли отображение этого значка в виде изображения какую-либо дыру?Может ли быть какой-то вредоносный значок?Сведет ли преобразование изображения на стороне сервера в другой формат файла риск?
Решение
Несколько лет назад в анализаторе JPEG Windows появилась уязвимость.Возможно, в будущем уязвимости могут быть обнаружены и в других форматах, но я думаю, что вы можете смело отображать их как есть и проявлять бдительность при применении исправлений, если об угрозе станет известно.
Однако, чтобы защитить конфиденциальность ваших пользователей, вам следует кэшировать значок на своем сервере и позволить браузерам пользователей получать его оттуда.С другой стороны, некоторые сайты могут подумать, что вы нарушили их интеллектуальную собственность, разместив их значок включен твой сайт.Опять же, я бы, вероятно, не стал бы слишком беспокоиться об этом, пока они не попросят вас остановиться.
Другие советы
Конфиденциальность была бы моей главной заботой, поскольку значки иногда используются для отслеживания того, кто добавляет страницу в закладки.По крайней мере, это испортит их данные, поскольку они будут думать, что больше людей добавляют их в закладки, чем на самом деле.
Когда браузеры используют их, рекомендуемое поведение, которое, я думаю, сейчас принято большинством, заключается в том, чтобы получать значок только при посещении сайта, а затем кэшировать его в браузере.Я бы сделал то же самое на стороне сервера, извлекая значок, когда пользователь отправляет статью, и кэшировал ее (и в то же время вы можете воспользоваться возможностью проверить действительность ссылки, извлечь сводку и т. д.).
Всегда некоторый риск включения контента, над которым вы не имеете контроля.
Например, если средство рендеринга изображений в браузере x будет страдать от уязвимости переполнения буфера, то владелец сайта, на котором размещено исходное изображение, может заменить исходный значок на вредоносный.Ваши пользователи могут быть заражены с вашего сайта без вашего ведома.
В дополнение к другим ответам вы должны знать, что на многих (большинстве?) сайтах в наши дни нет файла favicon.ico
в их корневом каталоге, но такой тег в HTML head
:
<link rel="shortcut icon" href="http://www.example.com/images/icon.png">
Если значок может быть в других форматах, кроме .ico
.