SSRF: как заставить сервер атаковать самого себя и почему обычной проверки URL недостаточно

Wait 5 sec.

Представим обычный функционал: пользователь вставляет ссылку на изображение, а приложение скачивает его и устанавливает в качестве аватара.На первый взгляд ничего опасного. Сервер просто отправляет HTTP-запрос по указанному адресу, получает картинку и сохраняет её.Но есть один нюанс: а что, если вместо ссылки на изображение пользователь передаст адрес внутреннего сервиса, который вообще не должен быть доступен извне?Например, внутренней административной панели, Redis, Elasticsearch или облачного сервиса метаданных.Именно на таком принципе работает SSRF — Server-Side Request Forgery. Уязвимость позволяет заставить сервер самостоятельно отправлять запросы туда, куда пользователь напрямую обратиться не может. — Разберём, как возникает SSRF, почему простые фильтры не спасают и какие меры действительно помогают защитить приложение. Читать далее