Как предотвратить XSS-атаки при рендеринге изображения с внешнего сайта

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

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

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

Сценарий 1 Заказчик А, публикует 5 предложений с веб-сайтов, которые содержат большие изображения высокого качества. Могу ли я помешать сайту получить прирост производительности при первом отображении и получении этих изображений с сайтов? Знаете ли вы, будет ли незаконным сохранять локальную копию, пока я сохраняю ссылку на исходный сайт? Я также против хотлинкинга, но не уверен, что хранить копию на жестком диске - хорошая идея. Я заметил, что Facebook не сохраняет их, они всегда отображают изображение, я уверен, что они делают это так, потому что это правильный способ сделать это.

б) Заказчик Б использует эту функцию не по назначению, и он на самом деле пытается провести XSS-атаку. Как я могу воспользоваться преимуществами Anti-XSS 4.0, чтобы убедиться, что заказчик не пробует xss-атаку, будет достаточно кодирования вывода? Есть ли какой-либо другой риск безопасности, о котором я не знаю?

Спасибо за вашу помощь!

1 ответ

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

Чтобы предотвратить атаки XSS, убедитесь, что клиент дает вам URL, а не немного JavaScript. Вы можете увидеть некоторые примеры атак XSS-изображений здесь: http://ha.ckers.org/xss.html

Другие вопросы по тегам