V5.2.6 Sanitization and Sandboxing
Requirement:#
Verify that the application protects against SSRF attacks, by validating or sanitizing untrusted data or HTTP file metadata, such as filenames and URL input fields, and uses allow lists of protocols, domains, paths and ports.
Explanation:#
Атаки с подделкой запросов на стороне сервера (SSRF) происходят, когда злоумышленник может манипулировать сервером, чтобы сделать запрос на произвольный URL-адрес по своему выбору. Для защиты от SSRF-атак приложение должно проверять или очищать все ненадежные данные, такие как имена файлов и поля ввода URL. Приложение также должно принудительно использовать списки разрешений для протоколов, доменов, путей и портов, которым разрешено выполнять сетевые запросы. Таким образом, будут выполняться только доверенные запросы, а любые злонамеренные или несанкционированные запросы будут предотвращены. Соблюдая эти меры предосторожности, приложение может значительно снизить риск SSRF-атак и обеспечить безопасность сервера и его данных.
Server Side Request Forgery (SSRF) позволяют злоумышленнику отправлять сформированные запросы с backend сервера уязвимого веб-приложения. SSRF используется для внутренних систем/серверов/приложений, которые находятся за firewall и недоступны из внешней сети.
Remediation:#
Чтобы предотвратить атаки SSRF (подделка запроса на стороне сервера), можно предпринять следующие шаги по исправлению:
- Проверяйте или очищайте ненадежные данные перед их использованием в любых сетевых запросах.
- Используйте разрешенные списки протоколов, доменов, путей и портов для определения разрешенных типов сетевых запросов. Это предотвратит использование злоумышленниками искаженных или неожиданных данных для инициирования запросов к неавторизованным или вредоносным источникам.
- Убедитесь, что поля ввода для имен файлов и URL-адресов правильно проверены и очищены, чтобы предотвратить атаки со стороны вредоносных или неожиданных данных.
- Используйте библиотеки и фреймворки, обеспечивающие встроенную защиту от SSRF-атак.
- Регулярно тестируйте и отслеживайте сетевые запросы, чтобы убедиться в отсутствии несанкционированных или злонамеренных запросов.
Пример кода на PHP: