Re: image_filter и хацкеры.
Anton Yuzhaninov
citrin на citrin.ru
Сб Мар 31 19:24:51 UTC 2012
31.03.2012 13:43, Михаил Монашёв написал:
> Есть проблема с непониманием юзерами происходящего. Если кто-то
> вставляет на сайт картинку с внешнего сайта, а вебсервер этого сайта
> вдруг начинает вместо картинки выдавать запрос на ввод логина и
> пароля, то юзеры вбивают туда свою логины и пароли, отправляя их
> нехорошим юзерам.
>
> Проблема решается через
> http://nginx.org/ru/docs/http/ngx_http_image_filter_module.html ,
> когда все картинки, вместо отдачи напрямую, проксируются с внешнего
> сервера и проверяются, что они картинки, а не запрос на авторизацию
> или вирусня какая.
>
> Но возникает другая проблема. Хакер может передавать нам урл, по
> которому пойдёт вебсервер за картинкой. Это чревато следующим:
>
> 1) полученная картинка может быть огромной и libgd не сможет её
> переварить;
http://nginx.org/ru/docs/http/ngx_http_image_filter_module.html#image_filter_buffer
При превышении размера сервер вернёт ошибку 415 (Unsupported Media Type).
>
> 2) url может вести в нашу внутреннюю подсеть и слать туда левые
> запросы не хотелось бы.
Запрети nginx-ку проксирующему картинки ходить во внутреннюю сеть.
Например с помощью файрвола.
Ну и плюс секретные данные даже во внутренней сети должны требовать
авторизации.
>
> 3) nginx начинает использоваться, как досилка на хорошем канале. Ведь
> достаточно в запрашиваемом урле менять один символ и nginx полезет по
> этому урлу. Сценарий такой. Вставляется много картинок с разными
> урлами на много страниц и потом на каждую страницу пригонятся по
> парочке юзеров. Они все шлют запросы к nginx-у, а тот фигачит их с
> нашего ip по жертве.
Смысла нет - DoSить с кучи пользовательских IP эффективнее, чем с одного
ip твоего сервера. IMHO проблема достаточно надуманная.
Подробная информация о списке рассылки nginx-ru